c# - 在 C# 中实现自定义异常的行业标准最佳实践是什么?

标签 c# custom-exceptions

在 C# 中实现自定义异常的行业标准最佳实践是什么?

我查过谷歌,有很多建议,但我不知道哪些更可信。

如果有人有指向权威文章的任何链接,那也会有所帮助。

最佳答案

创建自定义异常的标准是派生自Exception .然后,您可以引入自己的属性/方法和重载的构造函数(如果适用)。

这是一个自定义 ConnectionFailedException 的基本示例,它接受一个特定于异常类型的额外参数。

[Serializable]
public class ConnectionFailedException : Exception
{
    public ConnectionFailedException(string message, string connectionString)
        : base(message)
    {
        ConnectionString = connectionString;
    }

    public string ConnectionString { get; private set; }
}

在应用程序中,这可以用于应用程序尝试连接到数据库的场景,例如

try
{
    ConnectToDb(AConnString);
}
catch (Exception ex)
{
    throw new ConnectionFailedException(ex.Message, AConnString);
}

然后由您来处理更高级别的ConnectionFailedException(如果适用)

另请查看 Designing Custom ExceptionsCustom Exceptions

关于c# - 在 C# 中实现自定义异常的行业标准最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4791823/

相关文章:

java - java自定义异常类

java - 无效异常

c# - 如何使用将帮助链接默认为 google.com 的构造函数创建子类?

c# - 如何从停靠面板中删除用户控件

c# - 如何从 C# 应用程序自动化 Firefox?

c# - Serilog 是记录类型而不是对象内容

c# - 如何创建级联下拉菜单

c# - 使用 .NET 4.5 async、await 将 Azure blob 异步下载到字符串

java - 将字符串识别为输入,如果不是整数则抛出异常

java - 这会被视为自定义异常的示例吗?