在后续行动 前一个问题 关于例外情况外,什么是最佳做法对于创建一个自定义的例外。净?

更具体地说,你应该继承的系统。异常、系统。ApplicationException或其他一些基例外?

有帮助吗?

解决方案

继承 System.Exception. System.ApplicationException 是无用的和设计指南,说"不不 扔或来自 System.ApplicationException."

看看 http://blogs.msdn.com/kcwalina/archive/2006/06/23/644822.aspx

其他提示

在C#IDE,type'例外'和打标签。这将扩大到得到你开始在编写一个新的例外类型。有意见,拓展链接到一些讨论的例外做法。

就个人而言,我是个大风扇创造大量的小类,至延伸到例外类型。例如,在编写Foo类,我可以选择:

  1. throw new Exception("Bar happened in Foo");
  2. throw new FooException("Bar happened");
  3. throw new FooBarException();

哪里

class FooException : Exception 
{
    public FooException(string message) ... 
}

class FooBarException : FooException 
{
    public FooBarException() 
        : base ("Bar happened") 
    {
    }
}

我喜欢第3种选择,因为我看到它作为一个面向对象的解决方案。

有一个代码段。使用。此外,检查你的代码分析之后;这段留下了一个构造应该实施。

我认为最重要的是要记住当处理例外情况,在任何级别(定制,投掷,捕捉)是例外情况是只对特殊的条件。

基异常从那里的所有其他例外情况,继承的是系统。异常的,这是你应该继承,当然,除非你有用的东西比如说,默认消息的更具体的例外。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top