任何一个程序开发都不能保证是万无一失,不会出现错误的。那么这就需要再程序中添加异常处理的功能。我们在这里就为大家详细介绍一下有关.Net Framework异常的具体操作方法,希望对大家有所帮助。#t#
异常对象都包含一个描述字符串和一个堆栈踪迹。微软规定所有和CLS兼容的编程语言都必须能够抛出并捕获那些继承自System.Exception的异常类型。
- void SomeMethod() {
- try {
- //需要.Net Framework异常恢复和资源清理的操作代码;
或可能会抛出异常的代码 - //单独一个try块是没有任何意义的
- }
- catch(异常筛选器exception filter) {
- //异常恢复代码 ,出现异常时需要执行的响应代码
- //异常筛选器本身是一个类型;代码执行时是
自上而下搜索catch块的,应将更具体的异常
放在上面,否则会产生个错误 - }
- finally {
- //包含确保要执行的代码,一般是资源清理代码
- //不管线程是否抛出异常,该代码块中的代码都能确保被执行
- //一个try块并非必须要有一个finally块相
关联,因为有时候try块中的代码并不需要任何
清理工作;但一个try块最多只能有一个相关联的finally块 - }
- }
.Net Framework异常不是错误,它是对程序接口隐含假设的一种违反。这里的程序接口是指属性的数据类型,方法的参数,返回值等。通过抛出异常,一个方法可以通知它的调用程序它所做的假设被违反了。
如何正确使用.Net Framework异常?
a. 避免过多的finally块;C#提供了lock和using语句,是编译器自动产生try块和finally块,其中finally块就是清理代码,它们编译产生的结果是一样的。
b. 避免直接用System.Exception异常筛选器捕获所有异常,因为系统随时可能抛出StackOverflowException或OutOfMemoryException
c. 当异常无法修复时,回滚部分完成的操作。