.Net Framework异常具体概念深入剖析

开发 后端
.Net Framework异常的对象包含一个描述字符串和一个堆栈踪迹。当我们在使用程序中发生异常后,并不代表错误的出现。

任何一个程序开发都不能保证是万无一失,不会出现错误的。那么这就需要再程序中添加异常处理的功能。我们在这里就为大家详细介绍一下有关.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. 当异常无法修复时,回滚部分完成的操作。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-06 10:50:15

.NET Framew

2010-01-06 11:21:49

.NET Framew

2010-06-30 16:00:01

FTP协议

2009-08-25 18:16:02

.NET Framew.NET Framew

2010-01-06 18:21:24

2010-08-16 11:19:31

DIV

2010-01-06 19:22:43

.NET Framew

2010-01-05 10:29:43

.NET Framew

2010-01-05 16:15:05

.NET Framew

2010-01-06 16:33:50

.Net Framew

2010-03-05 14:50:08

Python调用.ne

2009-08-26 14:16:17

C# FrameWor

2010-01-05 18:14:17

.NET Framew

2010-01-06 19:38:16

.NET Framew

2010-02-26 15:22:55

.NET Framew

2010-01-12 11:47:09

VB.NET可选参数

2010-01-21 12:55:08

VB.NET对象序列

2010-01-14 14:21:07

2009-12-21 11:18:09

ADO.NET体系结构

2010-01-05 16:31:45

.NET Framew
点赞
收藏

51CTO技术栈公众号