首页 > 解决方案 > try catch 中抛出的异常

问题描述

我有一个功能来检查输入的电子邮件是否有效:

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 忽略了 try/catch

标签: c#xamarin.forms

解决方案


catch (Exception ex)

无法捕获所有异常。只有托管的。

您可以使用不带类型的 catch:

catch
{
    return false;
}

不确定这是否是一个好点。您无法Environment.FailFast在 MailAddress 的构造函数中处理诸如 call 之类的事情

无论如何,看起来你的问题不存在。

如果您需要更多帮助,请添加异常的堆栈跟踪。


推荐阅读