1. 什么是异常
1.1 概述
异常是对程序运行时候出现的特殊情况的一种响应, 例如空指针,内存溢出。
2. 异常处理
2.1 异常处理的目标
异常处理的目标是通过以下一个 或者多个 操作来响应异常,在有限的几种情况下采取纠正措施,让程序继续运行。
2.2 C#提供异常处理的方式
C#的异常处理是建立在四个关键词之上的:try、catch、finally 和 throw。
try:try语句指名了被保护的代码段,并在发生异常时,提供代码来处理。后跟一个或多个 catch 块。
catch:catch子句部分捕获异常,并且处理异常。
finally:在所有情况下都要被执行的代码。
throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。
2.3 三种异常的处理语句
try … catch //捕获异常
try … finally //清除异常
try … catch … finally // 处理所有异常
- try… catch方式处理异常
注意 : 不支持使用一般catch子句允许程序继续执行从而隐藏错误。有错误应该早点抛出。
try
{
可能出现异常的代码;
}
catch(异常类名 变量名)
{
异常的处理代码;
}
catch
{
一般catch: 此语句虽然可以给出异常提示,并不能智能描述异常的原因;
}
- try … finally //清除异常
如果用户对产生错误不进行处理,而消除产生的错误分配的资源
try
{
可能出现异常的代码;
}
finally
{
用于消除try 块中分配的任何资源以及 运行任何即使在发生异常时也必须执行的代码;
}
- try … catch … finally // 处理所有异常
最好的组合,合并两种错误处理技术,即捕获错误、消除并继续执行应用程序
try
{
可能出现异常的代码;
}
catch(异常类名 变量名)
{
异常的处理代码;
}
finally
{
用于消除try 块中分配的任何资源以及 运行任何即使在发生异常时也必须执行的代码;
}
2.4 异常处理的注意事项
-
处理异常会大大地降低性能,不妥将他用在控制正常程序流程中。
-
在UI层必须把异常catch住, 底层出了问题, 不要隐瞒, 第一时间终止。