Необходимость оператора return в try/catch - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Вопрос может показаться глупым, но все же, мне бы хотелось бы объяснения. Можете объяснить, почему в случае отсутствия оператора return в первом try/catch возникает ошибка данного содержания "Ошибка 1 Использование локальной переменной "fout", которой не присвоено значение" в строке
 fout.WriteByte((byte)i);
. Если написать return - все в порядке. Буду очень признателен за ответ! Заранее спасибо!
class Write
{
    static void Main(string[] args)
    {
        FileStream fout;
        char i;
 
        try
        {
            fout = new FileStream("test.txt", FileMode.Create);
        }
        catch (IOException exc)
        {
            Console.WriteLine("Ошибка: "+exc.Message);
            //return;
        }
 
        try
        {
            for (i = 'A'; i <= 'Z'; i++)
            {
                fout.WriteByte((byte)i);
            }
        }
        catch (IOException exc)
        {
            Console.WriteLine("Ошибка "+exc.Message );
        }
 
        fout.Close();
    }
}

Решение задачи: «Необходимость оператора return в try/catch»

textual
Листинг программы
            for (char c = 'A'; c <= 'Z'; c++)
            {
                fout.WriteByte((byte)c);
            }

Оцени полезность:

11   голосов , оценка 4.364 из 5
Похожие ответы