Подтвердить что ты не робот

Что произойдет, если оба catch и finally блокируют исключение?

Что произойдет, если оба catch и finally блокируют исключение?

4b9b3361

Ответ 1

Когда блок finally генерирует исключение, он будет эффективно скрывать исключение, выведенное из блока catch, и будет в конечном итоге выбрано. Поэтому важно либо лог исключений, когда поймано, либо убедиться, что блок finally сам не генерирует исключение, иначе вы можете получить исключения, которые задушены и никогда не видны.

Ответ 2

Когда catch выдает исключение, блок finally будет запущен, а затем выйдет с исключением. Если блок finally выдает исключение, блок выйдет с исключением.

Ответ 3

Выброшено последнее исключение.

Ответ 5

HI Nwaman, я думаю, что вы ошибаетесь, я протестировал его в приложениях windows, я нашел, если вы напишите программу, как показано ниже.

try
{
    string s = "hu";
    int i = int.Parse(s);
}
catch (Exception ex)
{
    string s = "hu";
    int i = int.Parse(s);
    throw new Exception();
}
finally
{
    MessageBox.Show("hi");
}

и это не приведет, наконец, к тому, чтобы искупить,