第六章、管理错误和异常

1、尝试执行代码和捕获异常

①代码放在try块中。

②紧接着try块写一个或多个catch处理程序来处理可能发生的错误。

2、未处理的异常

如果try块是某个方法的的一部分,那个方法将立即退出,并返回它的调用方法。如果它的调用方法有try块,“运行时”会尝试定位try块之后的一个匹配的catch处理程序并执行。如果调用方法没有try块,或者没有找到匹配的catch处理程序,调用方法退出,返回它的更上一级的调用方法。。。以此类推。

由内向外遍历了所有调用方法之后,如果还是找不到匹配的catch处理程序,整个程序终止,报告发生了未处理的异常。

3、捕捉多个异常

异常用继承层次结构进行组织。这个继承层次结构由多个家族构成。FromatException和OverflowException异常都属于SystemException家族。该家族还包含其他许多异常。SystemException本身又是Exception家族的成员,而Exception是所有异常的“老祖宗”。捕获Exception相当于捕获可能发生的所有异常。

异常发生后将运行由“运行时”发现的第一个匹配的异常处理程序,其他处理程序会被忽略。

4、引发异常

用throw语句引发异常。

public static string monthName(int month)

{

switch(month)

case 1 :

return "Tanuary";

........

default :

throw new AugumentOutOfRangException("月份不存在");

}

5、捕捉所有异常

     try

      {

      }

     catch(Exception ex)  //这是常规catch处理程序,能捕捉所有异常

     {

     }

posted @ 2016-08-18 20:49  lhd0525  阅读(150)  评论(0)    收藏  举报