------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
1:什么是异常??
??? 异常是程序中运行中的错误,出现了在正常操作时未预料的情形,例如:当程序试图用0除一个数或试图写一个只读文件
时,系统会捕获并抛出一个异常。
try 语句用来指明被异常保护的代码块,并且提供代码处理异常,如果它们发生的话。
try语句由3个部分组成
1:try块包含正被异常保护的代码
例:?? try
{
???? statements;
? }
2:catch? 子句部分含有一个或多个catch 子句,这些是异常的代码块,它们也称为异常处理程序
?? 例:catch(....)
??????? {??????????????????????????????????????????? //catch子句:这部分含有try块抛出的异常的异常处理
????????? statements? ;???????????????
???????? }
3 : finally 块含有在所有的情况下要被执行的代码,无论有没有异常发射
?? 例??? finally
????????? {
???????????? statements ;
?????????? }
catch子句
catch子句 处理异常,他有3种形式,允许不同级别的处理
1: catch?????????????????? //一般的catch子句
????????? {
?????????? statements;?
?????????? }???????????
2: catch(ExceptionType)? //特定的catch子句 带有异常类的名称作为单一参数? 匹配任何该名称类的异常
????????? {
??????????? statements;
?????????? }
3: catch(ExceptionType? ExcetionVaniable)//带对象的特定catch子句 在异常类的名称后包括一个标识符
????????? {?????????????????????????????? //该标识符在catch子句块中相当于一个本地变量,并被称为异常变量
??????????? statements;?????????????????? //异常变量引用异常对象,并能用于访问于该变量的信息
?????????? }
? 一般的catch子句能接受任何语句,但不能确定引发异常的类型。这只允许对任何可能发生的异常普通处理和清理
?? 特定的catch子句提供最多关于异常的信息。他匹配该指定 的异常,或派生他的异常类的异常,他还给我们一个
异常实例,称为异常变量,他是一个对CLR创建的异常对象引用。可以在catch子句块中访问异常变量的属性,
以获取关于引起异常的详细信息。
例子:catch(IndexoutofrangeExcption? e) // IndexoutofrangeExcption? 为异常类型? e为异常变量?
??? {
???? Console.WrieLine("Mesage:{0}",e.Message) //e.Message 为访问异常变量
???? }
使用特定catech 子句的示例
int x=0;
try
{
? int y=0;
x/=y;?????????????? //抛出一个异常
}
catch(DivideByzeroExcption?? e )
{
.....
Console.WruteLine("Message:{0}" e.Message);
}
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------