C#自定义异常类型的方法和注意项

发表于:2013-12-10 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:自由不死    来源:51Testing软件测试网采编

  C#中的异常都是从SystemException(系统异常)和ApplicationException(应用程序异常)两个类派生而来, 在自定义异常类时通常都是从ApplicationException派生,只有在开发.NETFramework的扩展类库时才考虑从SystemException派生。
  在定义自己的派生异常类时通常要注意一下几点:
  一:如果你的异常是需要写入文件的,如日志等,则需要将异常类声明为可序列化的[Serializable]
  二:要实现一个无参数的构造函数,因为可能会抛出无参异常
  三:实现一个包含message的构造函数
  四:实现一个包含message,及内部异常类型参数的构造函数
  五:添加自己的错误识别数据成员和处理函数
class MyException  : ApplicationException
{
private int a;
public MyException() {
a = 0;
}
public MyException(string message,int b)
: base(message) {
a = b;
}
public MyException(string message, Exception inner,int b)
: base(message, inner) {
a = b;
}
public  int  GetInt()
{
return a;
}
}
try {
int a = 1;
if (a == 1)
{
throw new MyException("YYC",2);
// throw new MyException();
//此处的“YYC”字符串是加载在EXception异常对象的Message中
}
}
catch (MyException ex)
{
MessageBox.Show(ex.Message+ex.GetInt().ToString());
//会显示用户加载的错误信息,如果用户有加载信息的话
}
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号