ch07异常01概要1.ppt

ch07异常01概要1

使用异常处理程序错误 回顾 面向对象编程有那三大特征? 什么是面向接口编程,它的好处是什么? 本章目标 了解异常的类层次结构 掌握Java的异常处理机制 运用 try 、catch 、 finally 处理异常 运用 throw 抛出异常 运用 throws 声明异常 自定义异常 掌握log4j的用法,能够记录异常日志 生活中的异常 正常情况下,小王每日开车去上班,耗时大约30分钟 程序中的异常 什么是异常 异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序 Java中的异常 不要指望你的程序永远不会出错 Java程序运行过程中所发生的异常事件可分为两类: 错误(Error):JVM系统内部错误、资源耗尽等严重情况 异常(Exception): 其它因编程错误或偶然的外在因素导致的一般性问题,例如: 对负数开平方根 空指针访问 试图读取不存在的文件 网络连接中断 Error/Exception层次图 Exception类型 未检查异常(unchecked)[派生于Erro类或RuntimeException类] ArithmeticException:数学计算异常 NullPointerException:空指针异常 NegativeArraySizeException:负数组长度异常 ArrayOutOfBoundsException:数组索引越界异常 ClassNotFoundException:类文件未找到异常 ClassCastException:造型异常 其他的异常为检查异常(checked)如IOException(输入输出异常) FileNotFoundException:文件未找到异常 EOFException:读写文件尾异常 MalformedURLException:URL格式错误异常 SocketException:Socket异常 什么是异常处理 Java编程语言使用异常处理机制为程序提供了错误处理的能力 Java异常处理机制 Java程序的执行过程中出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。 当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。 如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。 程序员通常只能处理违例(Exception),而对错误(Error)无能为力。 Java中如何进行异常处理 Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws try/catch块-1 使用try/catch块捕获异常,分为三种情况: try/catch块-2 使用示例模拟第一种情况: try/catch块-3 使用try/catch块捕获异常,分为三种情况: try/catch块7-4 使用示例模拟第二种情况: try/catch块-5 printStackTrace的堆栈跟踪功能显示出程序运行到当前类的执行流程 try/catch块-6 使用try/catch块捕获异常,分为三种情况: try/catch块7-7 使用示例模拟第三种情况: try/catch/finally -1 在try/catch块后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行 try/catch/finally 2-2 小结 1 编写一个类ExceptionTest1,在main方法中使用try、catch、finally: 在try块中,编写被0除的代码 在catch块中,捕获被0除所产生的异常,并且打印异常信息 在finally块中,打印一条语句 多重catch块 -1 一段代码可能会引发多种类型的异常 当引发异常时,会按顺序来查看每个 catch 语句,并执行第一个与异常类型匹配的catch语句 执行其中的一条 catch 语句之后,其后的 catch 语句将被忽略 多重catch块 2-2 抛出异常 如果在当前环境无法解决一个异常,就要将其抛出,把异常交给调用者处理。 声明异常 小结 2 编写类ExceptionTest2: 定义两个方法:go()和main() 在go方法中声明要抛出异常,在该方法体内,抛出一个Exception对象 在main()方法中,调用go方法,使用try/catch捕获go方法中抛出的异常 自定义异常类 可以通过继承Exception或它的子类来实现自己的异常类,一般不会继承某个运行时的异常类。 一般而言,对于自定义的异常类,会设计两个构造器:一个默认的不带参数的构造器以及一个带参数

文档评论(0)

1亿VIP精品文档

相关文档