首页 > 代码库 > 结构化异常处理(三)系统级异常和应用程序级异常
结构化异常处理(三)系统级异常和应用程序级异常
一、系统级异常
1.准去的说,.NET平台引发的一场应被称为系统异常。这些异常被认为是无法修复的致命错误。
2.系统异常直接派生自名为System.SystemException的基类,该基类派生自System.Exception。
SystemException除了一组自定义的构造函数不添加任何功能。
public class SystemException : Exception
{
//各种构造函数
}
3.当一个异常类型派生自System.SystemException时,我们就能够判断引发该异常的实体是.NET运行库而不是正在执行的程序库代码。
可以通过is关键字来验证这个结论:
NullReferenceException nullRefEx = new NullReferenceException();Console.WriteLine("NullREferenceException is a SystemException? : {0}", nullRefEx is SystemException);
二、应用程序级异常
1.自定义异常应当派生自System.ApplicationException类型:
public class ApplicationException : Exception
{
//各种构造函数
}
就像系统异常一样,应用程序异常并不在一组构造函数外再定义其他任何成员。
2.从功能上讲System.ApplicationException的唯一目的就是标识出错误的来源。
当读者处理一个派生自System.ApplicationException的异常时,可以设想异常是由正在执行的应用程序代码库引发的,而不是由.NET基础类库或.NET运行时引擎引发的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。