Почему этот блок catch не перехватывает выброшенное исключение? - PullRequest
4 голосов
/ 13 декабря 2011

У меня есть этот код:

private void btn1_Click(object sender, EventArgs e)
{
    try
    {
        Thrower();
    }
    catch
    {
        MessageBox.Show("exception caught");
    }
}

Который вызывает этот метод:

private void Thrower()
{
    throw new OverflowException();
}

Ну, я не очень опытен, когда дело доходит до обработки исключений, но я бы подумал, что это окно сообщения ("исключение обнаружено") будет отображаться здесь. Это не так. Должно ли это быть? Если нет, что я делаю не так? Я неправильно понял, как это должно работать?

Спасибо.

Ответы [ 2 ]

9 голосов
/ 13 декабря 2011

Я проверил это, и он прекрасно работает для меня. Вы уверены, что действительно вызываете метод btn1_Click? Может быть, вы забыли подключить ваши события?

1 голос
/ 13 декабря 2011

Поместите точку останова в вашу попытку / поймать, чтобы увидеть, если она вообще туда попадает (это не так)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...