Java异常处理

上传人:豆浆 文档编号:47365677 上传时间:2018-07-01 格式:PPT 页数:40 大小:406.50KB
返回 下载 相关 举报
Java异常处理_第1页
第1页 / 共40页
Java异常处理_第2页
第2页 / 共40页
Java异常处理_第3页
第3页 / 共40页
Java异常处理_第4页
第4页 / 共40页
Java异常处理_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《Java异常处理》由会员分享,可在线阅读,更多相关《Java异常处理(40页珍藏版)》请在金锄头文库上搜索。

1、第第8 8章章 JavaJava异常处理异常处理主要内容主要内容8.1 8.1 什么是异常什么是异常8.28.2异常处理机制异常处理机制8.38.3异常的处理异常的处理8.4 8.4 创建用户异常类创建用户异常类8.1 8.1 什么是异常什么是异常n n异常异常(Exception)(Exception)也叫例外。在也叫例外。在JavaJava编程语言中,异常就是程编程语言中,异常就是程 序在运行过程中由于硬件设备问题、软件设计错误、缺陷等序在运行过程中由于硬件设备问题、软件设计错误、缺陷等 导致的程序错误。在软件开发过程中,很多情况都将导致异导致的程序错误。在软件开发过程中,很多情况都将导致

2、异 常的产生,例如:常的产生,例如:(1) (1) 想打开的文件不存在;想打开的文件不存在;(2) (2) 网络连接中断;网络连接中断;(3) (3) 操作数超出预定范围;操作数超出预定范围;(4) (4) 正在装载的类文件丢失;正在装载的类文件丢失;(5) (5) 访问的数据库打不开;访问的数据库打不开;n n可见,在程序中产生异常的现象是非常普遍的。在可见,在程序中产生异常的现象是非常普遍的。在JavaJava编程编程 语言中,对异常的处理有非常完备的机制。异常本身作为一语言中,对异常的处理有非常完备的机制。异常本身作为一 个对象,产生异常就是产生一个异常对象。这个对象可能由个对象,产生异

3、常就是产生一个异常对象。这个对象可能由 应用程序本身产生,也可能由应用程序本身产生,也可能由 Java Java 虚拟机产生,这取决于虚拟机产生,这取决于 产生异常的类型。该异常对象中包括了异常事件的类型以及产生异常的类型。该异常对象中包括了异常事件的类型以及 发生异常时应用程序目前的状态和调用过程。请看下面产生发生异常时应用程序目前的状态和调用过程。请看下面产生 异常的例子。异常的例子。8.1 8.1 什么是异常什么是异常【例例8-18-1】文件操作将产生异常文件操作将产生异常 / Exception1.java/ Exception1.java import java.io.*;impor

4、t java.io.*; class Exception1 class Exception1 public static void main(String args) public static void main(String args)FileInputStream fis =new FileInputStream(“text.txt“); FileInputStream fis =new FileInputStream(“text.txt“);int b; int b;while(b=fis.read()!=-1) while(b=fis.read()!=-1) System.out.p

5、rint(b); System.out.print(b); fis.close(); fis.close(); 8.1 8.1 什么是异常什么是异常当编译这个程序时,屏幕上会输出下面的信息:当编译这个程序时,屏幕上会输出下面的信息: D:userchap08javac Exception1.javaD:userchap08javac Exception1.java Exception1.java:5: unreported exception java.io.FileNotFoundException; Exception1.java:5: unreported exception java.

6、io.FileNotFoundException; must be caught or declared to be thrownmust be caught or declared to be thrownFileInputStream fis = new FileInputStream(“text.txt“); FileInputStream fis = new FileInputStream(“text.txt“); Exception1.java:7: unreported exception java.io.IOException; must be Exception1.java:7

7、: unreported exception java.io.IOException; must be caught or declared to be throwncaught or declared to be thrownwhile(b=fis.read()!=-1) while(b=fis.read()!=-1) Exception1.java:10: unreported exception java.io.IOException; must be Exception1.java:10: unreported exception java.io.IOException; must b

8、e caught ordeclared to be throwncaught ordeclared to be thrownfis.close(); fis.close(); 3 errors3 errors8.1 8.1 什么是异常什么是异常【例例 8-28-2】数组下标超界的例子数组下标超界的例子 / Exception2.java/ Exception2.java public class Exception2public class Exception2public static void main (String args) public static void main (Stri

9、ng args) String langs = “Java“,“Visaul Basic“,“C+“; String langs = “Java“,“Visaul Basic“,“C+“; int i = 0;int i = 0;while (i javac Exception2.java D:userchap08javac Exception2.java D:userchap08java Exception2D:userchap08java Exception2 JavaJava Visaul BasicVisaul Basic C+C+ Exception in thread “main“

10、 Exception in thread “main“ java.lang.ArrayIndexOutOfBoundsException: 3java.lang.ArrayIndexOutOfBoundsException: 3 at Exception2.main(Exception2.java:8)at Exception2.main(Exception2.java:8) 上面的例子编译可以通过,但运行时出现异常信息被抛出。在上面的例子编译可以通过,但运行时出现异常信息被抛出。在 其循环被执行四次之后,数组下标溢出,程序终止,并带有其循环被执行四次之后,数组下标溢出,程序终止,并带有 错误

11、信息,就象前面所示的程序那样。错误信息,就象前面所示的程序那样。8.1 8.1 什么是异常什么是异常【例例 8-38-3】被被0 0除的例子除的例子 / Exception3.java/ Exception3.java class Exception3class Exception3public static void main(String args) public static void main(String args)int a=0; int a=0;System.out.println(5/a); System.out.println(5/a); 我们编译这个程序得到其字节码文件,然

12、后运行它,屏幕上的显示如下:我们编译这个程序得到其字节码文件,然后运行它,屏幕上的显示如下: D:userchap08javac Exception3.javaD:userchap08javac Exception3.java D:userchap08java Exception3D:userchap08java Exception3 Exception in thread “main“ java.lang.ArithmeticException: / by zeroException in thread “main“ java.lang.ArithmeticException: / by z

13、eroat Exception3.main(Exception3.java:5) at Exception3.main(Exception3.java:5) 因为除数不能为因为除数不能为0 0,所以在程序运行的时候出现了除以,所以在程序运行的时候出现了除以0 0溢出的异常事件。溢出的异常事件。8.1 8.1 什么是异常什么是异常在上面的三个例子中,我们都遇到了异常。屏幕上所显示在上面的三个例子中,我们都遇到了异常。屏幕上所显示 的信息的信息java.io.java.io.IOExceptionIOException、java.io.java.io.FileNotFoundExceptioFil

14、eNotFoundException n、 java.lang.java.lang.ArrayIndexOutOfBoundsExceptionArrayIndexOutOfBoundsException以及以及java.lang.java.lang.ArithmeticExceptioArithmeticException n分别指明了异常的类型以及分别指明了异常的类型以及异常所在的包异常所在的包。同时我们也。同时我们也 可以看到,对于某些异常,在程序中必须对它进行处理,否可以看到,对于某些异常,在程序中必须对它进行处理,否 则编译程序会指出错误则编译程序会指出错误( (如例如例8-1)8-

15、1)。但对另一些异常,在程序。但对另一些异常,在程序 中可以不做处理,而直接由运行时系统来处理中可以不做处理,而直接由运行时系统来处理( (如例如例8-3)8-3)。在。在 下节中,我们将详细了解这两类异常,以及在程序中如何处下节中,我们将详细了解这两类异常,以及在程序中如何处 理这两类异常。理这两类异常。第第8 8章章 JavaJava异常处理异常处理8.1 8.1 什么是异常什么是异常8.28.2异常处理机制异常处理机制8.38.3异常的处理异常的处理8.4 8.4 创建用户异常类创建用户异常类8.28.2异常处理机制异常处理机制8.2.1 Java8.2.1 Java的异常处理机制的异常处理机制8.2.2 8.2.2 异常类的类层次异常类的类层次8.2.3 Throwable8.2.3 Throwable类的常用方法类的常用方法8.2.1 Java8.2.1 Java的异常处理机制的异常处理机制在Java程序的执行过程中,如果出现了异常事件,就会生成一个异常 对象。这个对象可能是由正在运行的方法生成,也可能由Java虚拟机生成 ,其中包含一些信息指明异常事件的类型以及当异常发生时程序的运行状 态等。Java语言提供两种处理异常的机制:(1)捕获异常在Java程序运行过程中系统得到一个异常对

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号