5JAVA 异常和垃圾收集 java项目课件.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5JAVA 异常和垃圾收集 java项目课件

异常和垃圾收集 第五章 目标 了解异常的定义 了解异常的分类 掌握 try、catch 和 finally 语句的用法 掌握throw、throws子句的用法 掌握如何定义自己的异常 了解 Java 的垃圾收集机制 什么是异常 Java异常处理基础 Java异常处理机制采用一个统一和相对简单的抛出和处理错误的机制。如果一个方法本身能引发异常,当所调用的方法出现异常时,调用者可以捕获异常使之得到处理;也可以回避异常,这时异常将在调用的堆栈中向上传递,直到被处理。 异常体系结构 常见异常及其用途 2-1 常见的异常及其用途 2-2 异常处理模型 由五个关键字 try、catch、throw、throws 和 finally 处理。 Java 中可用于处理异常的两种方式: 自行处理:可能引发异常的语句封入在 try 块内,而处理异常的相应语句则封入在 catch 块内。 回避异常:在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,必须由调用者处理。 try - catch 块示例 public class ExceptionDemo { ? public static void main(String args[]) { try { int c= calculate(9,0); System.out.println(c); } catch (Exception e) { System.err.println(发生异常: + e.toString()); e.printStackTrace(); } } ? static int calculate(int a, int b) { int c = a/b; return c; } } 多个 catch 块 单个代码片段可能会引起多个错误。 可提供多个 catch 块分别处理各种异常类型。 多个 catch 块示例 class Catch22 { ? public static void main(String args[]) { try { String num=args[0]; int numValue=Integer.parseInt(num); System.out.println(平方为 +numValue*numValue); } catch(ArrayIndexOutOfBoundsException ne) { System.out.println(未提供任何参数!); } catch(NumberFormatException nb) { System.out.println(不是数字!); } } } 嵌套的 try - catch 块 有时,块的一部分引起一个错误,而整个块可能又引起另一个错误。在此情况下,需要将一个异常处理程序嵌套到另一个中。 在使用嵌套的try块时,将先执行内部 try 块,如果没有遇到匹配的 catch 块,则将检查外部 try 块的 catch 块。 finally 块 确保了在出现异常时所有清除工作都将得到处理 与 try 块一起使用 无论是否出现异常,finally块都将运行 finally 块 示例 使用 throw 使用 throws 如果一个方法可能导致一个异常但不处理它,此时要求在方法声明中包含 throws 子句,通知潜在调用者,如果发生了异常,由调用者处理。 一个throws子句列举了一个方法可能引发的所有异常类型。 使用 throws示例 class ThrowsDemo{ ? static void throwOne() throws IllegalAccessException{ System.out.println(在throwOne中.); throw new IllegalAccessException(非法访问异常); } ? public static void main(String args[]){ try{ throwOne(); } catch(IllegalAccessException e){ System.out.println(捕获+e); } } } 用户自定义的异常 内置异常不可能始终足以捕获所有错误,因此需要用户自定义的异常类 用户自定义的异常类应为 Exception 类(或者Exception 类的子类)的子类 创建的任何用户自定义的异常类都可以获得 Throwable类定义的方法 使用用户自定义的异常示例 class UserExce

您可能关注的文档

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档