В следующем коде целые числа n1
и n2
могут быть доступны внутри блока try
.Обработка исключений: Локальные переменные
Однако они не признаны catch
и finally
. Могу я узнать причину ?! Существует ERROR, если я попытаюсь напечатать n1
и n2
значения в catch
и finally
блок.
static void Main(string[] args)
{
int n1, n2;
try
{
n1 = Convert.ToInt32(Console.ReadLine());
n2 = Convert.ToInt32(Console.ReadLine());
int result;
result = n1/n2;
Console.WriteLine("Result " + result);
}
catch (Exception ex)
{
Console.WriteLine("Error, please provide non zero value for denominator");
Console.WriteLine("n1 = {0} and n2 = {1}", n1, n2); -> why n1, n2 are unassigned local variables here.
Console.ReadLine();
}
finally
{
Console.ReadLine();
Console.WriteLine("n1 = {0} and n2 = {1}", n1, n2); -> why n1, n2 are unassigned local variables here.
}
}
пробельных сильна с этим. –
Инициализировать n1 и n2 до нуля. – Tarik