Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
try
{
Console.WriteLine(int.Parse("ten"));
}
catch (Exception)
{
Console.WriteLine("general");
}
catch (FormatException)
{
Console.WriteLine("format");
}Не скомпилируется
- Ждать
general: при запуске блоки проверяются сверху вниз, но общийcatchнад конкретным — ошибка компиляцииCS0160, и программа не запускается. - Считать, что самый конкретный
catchвыигрывает, где бы он ни стоял: порядок важен, и конкретные классы пишут вышеcatch (Exception).
- Как переставить блоки, чтобы программа напечатала
format? - Что напечатает программа, если оставить только блок
catch (Exception), и почему?