- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09 java基础课程-异常
try 块 finally 块 catch 块 无异常 异常 try、catch 和 finally 块的执行流程 class T{ void t(){ try{ int a = 1/0; }catch(Exception e){ }finally{ //不管try中的语句是否会产生异常,这里的代码总是会执行,即使try中使用了return } } Q A * * * * * * * * * * * * * * * * * * * * * * * * * 异常 异常的定义 Java的异常处理机制 Java的异常体系 自定义异常 在前面的课中,我们运行以下程序时: class T{ } 系统显示结果为: 这里的Exception就是我们要学习的异常 现实生活中,我们去做某个事情的时候,可能会因为其它原因导致我们失败,比如说:老张开车去东北,撞了。 被撞是一个意外,可能会发生,也可能不会发生,被撞后如何做呢? A 忍着 可能失血过多而导致不可想象的后果 B 去医院 去医院采取补救措施后继续开车前进 在程序运行的过程中,可能会因为外部不可预料的因素而导致某个方法的执行失败,那么失败后我们如何处理呢? A 容忍失败 程序带着错误一直运行到底 B 不容忍失败,而选择直接崩溃 程序不健壮,没有用户愿意接受动不动死机的系统 C 采用Java的异常机制 异常处理机制: try{ 老王.开车(); }catch(撞车 e){ e.get车主().赔钱(); 医生.抢救(老王); } 老王.吃饭(); 我们将可能会出现意外情况的语句用try-catch语句包围起来,如果没有出现意外,程序正常执行,如果出现意外,程序进入catch中的处理语句中 catch(撞车 e)这里的e是关于这次撞车事件的详细信息 try catch 异常 执行 catch 后程序 继续正常运行 程序控制 引发 代码块 单 元 写出以下程序的输出结果 class T{ static void t(){ int a = 2/0; System.out.println(a); } public static void main(String args[]){ System.out.println(1); t(); System.out.println(2); } } 写出以下程序的输出结果 class T{ static void t(){ int a = 2/0; print(0); } static void print(int a) { System.out.println(a); } public static void main(String args[]){ print(1); try{ t(); }catch(Exception e){ print(2); } print(3); } } Java中的异常 Exception ArithmeticException NullPointerException Object Throwable Error ThreadDeath SQLException RuntimeException NumberFormatException … … AWTError Throwable 具有两个子类 A. Exception:处理用户程序应当捕获的异常情况 B. Error:Error 类的异常为内部严重错误,因此在这种情况下不期望用户的程序捕获它们 异常 说明 Exception 异常层次结构的根类 RuntimeException 许多 java.lang 异常的基类 ArithmeticException 算术错误情形,如以零作除数 IllegalArgumentException 方法接收到非法参数 ArrayIndexOutOfBoundsException 数组大小小于或大于实际的数组大小 NullPointerException 尝试访问 null 对象成员 ClassNotFoundException 不能加载所需的类 NumberFormatException 数字转化格式异常 IOException I/O 异常的根类 FileNotFoundException 找不到文件 EOFException 文件结束 InterruptedException 线程中断 常见异常类 Exception类有一个特殊的子类RuntimeException, 我们称之为运行时异常。如果一个方法声明要抛出的异常类型是这个类或其子类,则该方法的调用者不必显示地使用try…catch段来
文档评论(0)