我可以在c#.net中定义自己的异常类型吗?如果是的话,怎么样?

时间:2013-08-23 14:16:42

标签: c# asp.net .net exception-handling

示例:

是否可以定义我自己的例外类型?

考虑我在代码背后或BL或DA层有我自己的自定义方法:

public void my_first_method()
{
  // some custom code execution..
  //might throw some errors..
}
//so.. if am not wrong..
//can i have something in my event handler like..

try
{

  my_first_method();
  my_second_method();
  my_third_method();

}
catch(my_first_methodException fex)
{

}
catch(my_second_methodException sex)
{

}
catch(my_third_methodException tex)
{

}
catch(Exception ex)
{
  //if doesn't belongs to above 3 exception come here..
}

我试图找出这是否可能。请指教。提前谢谢。

2 个答案:

答案 0 :(得分:2)

是;只需创建一个继承Exception的类,并添加适当的构造函数。

有关详细信息,请参阅MSDN

例如:

[Serializable]
public class NewException : Exception
{
    public NewException() : base("Default message for this type") { }
    public NewException(string message) : base(message) { }
    public NewException(string message, Exception inner) : base(message, inner) { }

    // This constructor is needed for serialization.
   protected NewException(SerializationInfo info, StreamingContext context)
    : base(info, context) { }
}

答案 1 :(得分:0)

还值得一提的是,您可以使用visual studio片段创建一个例外。只需键入“exception”和tab,然后为其命名并添加任何自定义属性等。