第12章异常处理 121异常处理概述 1122常见的异常 123异常处理的基本方法 124用户自定义的异常
1 第12章 异常处理 12.1 异常处理概述 12.2 常见的异常 12.3 异常处理的基本方法 12.4 用户自定义的异常
异常是一种封装了反常程序事件信息的对 象,C#用异常来处理错误和反常情况。 令当异常抛出时,当前函数的执行会停止, 堆栈展开,直到找到正确的异常处理代码, 异常处理代码就是处理异常的代码块 令如果异常得到处理,程序会解决问题并继 续执行。即使程序不能继续执行,捕获异 常也能使程序输出错误信息并安全地终止 程序。 目录
2 ❖ 异常是一种封装了反常程序事件信息的对 象,C#用异常来处理错误和反常情况。 ❖ 当异常抛出时,当前函数的执行会停止, 堆栈展开,直到找到正确的异常处理代码, 异常处理代码就是处理异常的代码块。 ❖ 如果异常得到处理,程序会解决问题并继 续执行。即使程序不能继续执行,捕获异 常也能使程序输出错误信息并安全地终止 程序。 返回目录
在C#中提供有很多的异常类,所有的异常类 都是 System EXception类型或是从其派生的 类型 冷表12-1列出了 System命名空间中许多常见的 异常类。 返回目录
3 ❖ 在C#中提供有很多的异常类,所有的异常类 都是System.Exception类型或是从其派生的 类型。 ❖ 表12-1列出了System命名空间中许多常见的 异常类。 返回目录
12.3.1try- catch语句 冷ty块中包含可能会产生异常的语句。 catch从句捕捉并处理异常 冷如果能确定在try语句块中可能发生的异常类 型,那么 catch语句可以捕捉相应的异常类型 如果事先并不知道ty语句块中会引起哪一种 异常,则在 catch语句中可以忽略异常的类型
4 12.3.1 try-catch语句 ❖ try块中包含可能会产生异常的语句。 ❖ catch从句捕捉并处理异常。 ❖ 如果能确定在try语句块中可能发生的异常类 型,那么catch语句可以捕捉相应的异常类型; 如果事先并不知道try语句块中会引起哪一种 异常,则在catch语句中可以忽略异常的类型
今如果是多个异常,可以用多个 catch语句块 /tny语句块 catch(类型1参数1) /针对类型1的异常处理 catch(类型2参数2) ∥针对类型2的异常处理 catch(类型n参数n) 对类型n的异常处理
5 ❖ 如果是多个异常,可以用多个catch语句块: try { //try语句块 } catch(类型1 参数1) { //针对类型1的异常处理 } catch (类型2 参数2) { //针对类型2的异常处理 } … catch (类型n 参数n) { //针对类型n的异常处理 }