我想知道下面的代码是否在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();
}
}
答案 0 :(得分:2)
从此链接:https://msdn.microsoft.com/en-us/library/87cdya3t(v=vs.110).aspx 我引用:
如果希望用户能够以编程方式区分某些错误条件,则可以创建自己的用户定义的异常。 .NET Framework提供了最终派生自基类Exception的异常类层次结构。这些类中的每一个都定义了一个特定的异常,因此在许多情况下,您只需要捕获异常。您还可以通过派生Exception类来创建自己的异常类。
结论:只需要从Exception派生。
答案 1 :(得分:0)
在此问题的代码示例中,最好使用输入数据验证,因为事件处理程序中的异常处理很复杂,并且最好避免在事件处理程序中引发异常。自定义例外的示例在我对类似问题Custom Exception C#的回答中。