Исключение, выброшенное в течение попытки поймать - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть функция, чтобы проверить, является ли введенный адрес электронной почты действительным:

bool IsValidEmail(string email)
    {
        try
        {
            var addr = new System.Net.Mail.MailAddress(email);
            return addr.Address == email;
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.Message);
            return false;
        }
    }

Несмотря на то, что он находится в пределах попытки / попытки, я по-прежнему получаю исключение при вводе недействительного электронного письма, в котором говорится:

'Указанная строка не в форме, необходимой для адреса электронной почты.'

Я использовал эту функцию в других приложениях, и она отлично работает. Не уверен, что происходит с ним сейчас.

Редактировать: Решением были мои настройки исключения, мой VS игнорировал попытку / ловить

1 Ответ

0 голосов
/ 22 апреля 2020
catch (Exception ex)

не может поймать все исключения. Только управляемые.

Вы можете использовать catch без типа:

catch
{
    return false;
}

Не уверен, что это хороший момент. Вы не можете обрабатывать что-то вроде Environment.FailFast вызова внутри конструктора MailAddress

В любом случае, похоже, что вашей проблемы нет.

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

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