- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA中的异常情况处理
第五章 异常处理与IO操作 主讲:曲美霞 涉及到课本章节: 第5章 异常处理 第9章 输入输出流和文件操作 5.1 Java异常的分类 5.2 Java异常的处理机制 5.3 自定义异常类 5.1 Java异常的分类 5.2 Java异常的处理机制 5.3 自定义异常类 序:异常 异常处理机制的优点?(OO中) (1) 语法:异常处理语句将正常代码和”错误”代码分开,结构清晰,重点突出,可读性强. (2)运行效果:使程序具有处理”错误”的能力.即使发生了”错误”,应用程序能够捕获异常并及时处理异常. 5.1 Java异常的分类 (Sun定义) 说明: Error 类对象由 JVM生成并抛出给系统,有内存溢出错、栈溢出错等通常,Java程序不对错误进行处理; Exception 类对象由应用程序或JVM处理抛出的对象。分RuntimeException和checked Exception。 Java Exception: Runtime Exception(unchecked) checked Exception A RuntimeException java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException RuntimeException(46个直接子类) 关于RuntimeException 属于运行时异常 由JVM来接管,程序中可以不用处理 B checked Exception 关于checked Exception 编译器要求必须采用Java异常处理机制处理 常见的有 IO Exception,SQL Exception,AWT Exception 5.1 Java异常的分类 5.2 checked Exception的处理机制 1 捕获处理 2 向上传递处理 5.3 自定义异常类 5.2 checked Exception的处理机制 Java 对checked Exception提供 捕获处理或者抛出(传递) 异常的机制。 1 捕获处理 如果一个方法产生了异常(对象),在程序中自己可以直接捕获处理 使用Java语言描述: ---捕获: 使用try-catch-finally语句捕获处理; try { 正常的代码; 调用产生异常对象的方法、语句; 其他正常的Java语句; } catch(异常类名 异常对象名) {异常处理;} catch(异常类名 异常对象名) {异常处理;} ...... [finally //可以省略finally子句 {最终处理;} ] 异常对象的产生途径: (1) JVM自动生成异常对象 (2) 使用throw语句手动生成异常对象 举例: ---(1)JVM自动产生异常 public class AutoEx{ public static void main(String[] args){ System.out.println(5/0); } } public void testTry(int age){ try{ if(count0) throw new Exception(“Age must be larger than 0”); //创建一个异常类对象,并抛出 …….. }catch(Exception ex){ ex.printStackTrace(); } } Catch捕获异常原则(顺序): ---抛出异常对象与catch子句参数类型相同 ---抛出异常对象为catch子句参数类的子类 ---按照先后顺序捕获抛出异常对象,只捕获一次. public void testTry(int age){ try{ if(age0) throw new SQLException(“Age must be larger than 0”); //创建一个异常类对象,并抛出
文档评论(0)