C#中的自定义异常

时间:2015-08-08 12:59:04

标签: c# .net exception exception-handling

我想知道下面的代码是否在C#中演示了自定义异常?

    public class NoBobException : Exception
    {
        public NoBobException()
            : base("No Bob's in TextBox")
        {

        }
    }

    private void BobsForm_Load(object sender, EventArgs e)
    {
      if(textbox1.text == "Bob")
       {
         throw new NoBobException();
       }
    }

2 个答案:

答案 0 :(得分:2)

从此链接:https://msdn.microsoft.com/en-us/library/87cdya3t(v=vs.110).aspx 我引用:

  

如果希望用户能够以编程方式区分某些错误条件,则可以创建自己的用户定义的异常。 .NET Framework提供了最终派生自基类Exception的异常类层次结构。这些类中的每一个都定义了一个特定的异常,因此在许多情况下,您只需要捕获异常。您还可以通过派生Exception类来创建自己的异常类。

结论:只需要从Exception派生。

答案 1 :(得分:0)

在此问题的代码示例中,最好使用输入数据验证,因为事件处理程序中的异常处理很复杂,并且最好避免在事件处理程序中引发异常。自定义例外的示例在我对类似问题Custom Exception C#的回答中。