文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>异常处理程序学习笔记

异常处理程序学习笔记

时间:2010-11-19  来源:面壁居士

  • 各种类型的异常最终都是由System.Exception派生而来
  • 在可能引发异常的语句周围使用try块。
  • 一旦try块中发生异常,控制流将跳转到第一个关联的异常处理程序。(无论该处理程序存在于调用堆栈中的什么位置)。在C#中,catch关键字用于定义异常处理程序
  • 如果给定异常没有异常处理程序,则程序将停止执行,并显示一条错误消息
  • 除非您可以处理某个异常并使应用程序处于已知状态,否则请不要捕捉该异常。如果捕捉System.Exception,请在Catch块的某位使用Throw关键字再次引发该异常。
  • 如果catch块定义了一个异常变量,则可以用它获取有关所发生异常类型的更多信息。
  • 程序可以使用throw关键字显示地引发异常。
  • 异常对象包含有关错误的详细信息,比如调用堆栈的状态以及有关错误的文本说明
  • 即使发生异常也会执行finally块中的代码,使用finally块释放资源,例如,关闭try块中打开的任何流火文件。
  • .Net Framework中的托管异常时凭借Win32结构化异常处理机制实现的。

 

异常是报告错误的标准机制。应用程序和库不使用返回代码来传递错误信息。异常的采用增进了框架设计的一致性,允许无返回类型的成员(如构造函数)报告错误。异常还允许程序处理错误或者根据需要终止程序。

异常设计原则(来源:http://msdn.microsoft.com/zh-cn/library/ms229014(v=VS.90).aspx

 

运行库实现的异常处理具有以下特点:(http://msdn.microsoft.com/zh-cn/library/5b2yeyab(v=VS.90).aspx

      处理异常时不用考虑生成异常的语言或处理异常的语言

      异常处理时不要求任何特定的语言语法,而是允许每种语言定义自己的语法。

      允许跨进程甚至跨计算机边界引发异常。

      运行库德异常处理比基于Windows的C++错误处理更快

 

非托管代码可以同时包含C++样式的SEH异常和基于COM的HRESULT

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载