.Net Framework异常具体概念深入剖析
创始人
2024-06-19 15:50:45
0

任何一个程序开发都不能保证是万无一失,不会出现错误的。那么这就需要再程序中添加异常处理的功能。我们在这里就为大家详细介绍一下有关.Net Framework异常的具体操作方法,希望对大家有所帮助。#t#

异常对象都包含一个描述字符串和一个堆栈踪迹。微软规定所有和CLS兼容的编程语言都必须能够抛出并捕获那些继承自System.Exception的异常类型。

 

  1. void SomeMethod() {  
  2. try {  
  3. //需要.Net Framework异常恢复和资源清理的操作代码;
    或可能会抛出异常的代码   
  4. //单独一个try块是没有任何意义的  
  5. }  
  6. catch(异常筛选器exception filter) {  
  7. //异常恢复代码 ,出现异常时需要执行的响应代码  
  8. //异常筛选器本身是一个类型;代码执行时是
    自上而下搜索catch块的,应将更具体的异常
    放在上面,否则会产生个错误  
  9. }  
  10. finally {  
  11. //包含确保要执行的代码,一般是资源清理代码  
  12. //不管线程是否抛出异常,该代码块中的代码都能确保被执行  
  13. //一个try块并非必须要有一个finally块相
    关联,因为有时候try块中的代码并不需要任何
    清理工作;但一个try块最多只能有一个相关联的finally块  
  14. }  

 

.Net Framework异常不是错误,它是对程序接口隐含假设的一种违反。这里的程序接口是指属性的数据类型,方法的参数,返回值等。通过抛出异常,一个方法可以通知它的调用程序它所做的假设被违反了。

如何正确使用.Net Framework异常?

a. 避免过多的finally块;C#提供了lock和using语句,是编译器自动产生try块和finally块,其中finally块就是清理代码,它们编译产生的结果是一样的。

b. 避免直接用System.Exception异常筛选器捕获所有异常,因为系统随时可能抛出StackOverflowException或OutOfMemoryException

c. 当异常无法修复时,回滚部分完成的操作。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...