Необходимость оператора return в try/catch - C#
Формулировка задачи:
Доброго времени суток! Вопрос может показаться глупым, но все же, мне бы хотелось бы объяснения.
Можете объяснить, почему в случае отсутствия оператора return в первом try/catch возникает ошибка данного содержания "Ошибка 1 Использование локальной переменной "fout", которой не присвоено значение" в строке .
Если написать return - все в порядке.
Буду очень признателен за ответ! Заранее спасибо!
fout.WriteByte((byte)i);
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);
}