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

标签 c# exception class-design custom-exceptions

我正在尝试编写代码来创建一个 EpicFailException 类作为 ApplicationException 的子类。我必须添加一个将 HelpLink 属性默认为 google.com 的构造函数.以下是我到目前为止所拥有的。对如何应用子类有什么建议吗?

 public class ApplicationException : Exception
 {
     public ApplicationException(string auxMessage, Exception inner) :
         base()
     {
         this.HelpLink = "http://google.com";
     }
 }

最佳答案

.NET 类设计指南已更改; current recommendation is to derive from Exception and not from ApplicationException .

也就是说,如果您需要设置 HelpLink在许多派生异常中的属性,您可能想要创建一个基类,它需要 HelpLink 的值属性作为参数,然后从中派生:

public abstract MyExceptionBase : Exception
{
    protected MyExceptionBase(string message, string helpLink) : 
        base(message)
    {
        HelpLink = helpLink;
    }
}

public MyException : MyExceptionBase
{
    public MyException(string message) : 
        base(message, "http://www.google.com")
    { }
}

请注意,您仍应关注所有其他 guidelines for custom exceptions ,比如序列化,无参数构造函数等。

关于c# - 如何使用将帮助链接默认为 google.com 的构造函数创建子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851686/

相关文章:

c# - ASP.NET Identity 如何与 Model First 方法一起使用?

c# - Url.Action 假定额外的 RouteValue

iphone - 如何在 iPhone 上的 HTTP 连接失败时弹出警报?

c# - 不能使用 FileFormatException (?)

.net - 为什么 WPF 会吞下在 Window.Activated 的事件处理程序中抛出的异常?

java - 内部类中对象的 PriorityQueue - 找不到构造函数

c# - 如何在 C# 中编写 SNMP 代理或 SNMP 扩展代理 DLL

c# - 即使枚举类型被密封,foreach 也不会进行类型检查

java - MVC 游戏设计 Java

class - UML - 边界的子类可以充当 Controller 吗?