第四讲 Java的异常处理.ppt
《第四讲 Java的异常处理.ppt》由会员分享,可在线阅读,更多相关《第四讲 Java的异常处理.ppt(39页珍藏版)》请在三一办公上搜索。
1、Java的异常处理,伍淳华北京邮电大学计算机学院,Java,Java的异常处理,什么是异常,异常就是在程序的执行过程中所发生的异常事件,它中断指令的正常执行,Java,Java的异常处理,异常处理,可能出现的问题用户输入错误设备错误物理限制代码错误,Java,Java的异常处理,异常(Throwable)分类,Throwable:所有异常的根类Error:Throwable的直接子类 动态链接失败,虚拟机错误等。通常Java程序不应该捕获这类异常,也不会抛弃这种异常。,Java,Java的异常处理,异常(Throwable)分类,Exception 运行时异常继承于RuntimeExcepti
2、on.Java一般是由于程序错误产生-错误的类型转换-数组访问越界-访问空指针 编译器允许不对它们做出处理(unchecked)“如果出现RuntimeException异常,就一定是你的问题”,Java,Java的异常处理,异常(Throwable)分类,Exception 非运行时异常 除了运行时异常之外的其它的继承自Exception的异常类。程序曾经能够正常运行,但由于某种情况的变化,导致异常出现,程序不能正常运行。-文件不存在-用户输入错误 编译器要求程序必须对这类异常进行处理(checked),Java,Java的异常处理,Java,Java的异常处理,异常示例,import ja
3、va.io.*;class ExceptionDemo1 public static void main(String args)FileInputStream fis=new FileInputStream(“text”);int b;while(b=fis.read()!=-1)System.out.print(b);fis.close();,Java,Java的异常处理,异常示例,c:javac ExceptionDemo1.javaExceptionDemo1.java:6:Exception java.io.FileNotFoundException must be caught,o
4、r it must be declared in the throws clause of this methodFileInputStream fis=new FileInputStream(“text”);ExceptionDemo1.java:8:ExceptionJava.io.IOException must be caught,or it must be declared in the throws clause of this methodwhile(b=fis.read()!=-1),Java,Java的异常处理,异常处理,class ExceptionDemo2 public
5、 static void main(String args)int a=0;System.out.println(5/a);,Java,Java的异常处理,异常处理,c:/javac ExceptionDemo2.javac:/java ExceptionDemo2 java.lang.ArithemeticException:/by zero atExceptionDemo2.main(ExceptionDemo2.java:4),Java,Java的异常处理,异常处理机制,在java的执行过程中,如果出现了异常事件,就会生成一个异常对象。JAVA有两种对异常的处理方式:抛弃异常:方法内部产
6、生异常的地方,生成一个异常对象,并将该异常对象提交给方法的调用者,这一异常的生成和提交过称成为抛弃(throw)异常 捕获异常:当Java运行时得到一个异常对象时,它将会寻找处理这一异常的代码。找到能够处理这种类型的异常的方法后,系统把当前异常对象交给这个方法处理,这一过程成为捕获(catch)异常,Java,Java的异常处理,抛弃异常,声明抛弃异常 如果在一个方法中生成了一个异常,但是这一方法并不确切的知道如何对这一异常事件进行处理,这时,一个方法就应该声明抛弃异常。“一个方法不仅需要告诉编译器将要返回什么值,还要告诉编译器可能发生什么异常”,Java,Java的异常处理,抛弃异常,声明抛
7、弃异常声明抛弃异常是在一个方法声明中的throw子句中指明的。例如 public FileInputStream(String name)throws IOExceptionthrows子句中可以同时指明多个异常,说明该方法将不对这些异常进行处理,而是声明抛弃它们。public static void main(String args)throws IOException,IndexOutOfBoundsException,Java,Java的异常处理,抛弃异常,如何抛弃异常抛弃异常首先要生成异常对象,异常对象可由某些类的实例生成,也可以由JAVA虚拟机生成。抛弃异常对象时通过throw语句实
8、现。IOException e=new IOException();throw e;可以抛弃的异常必须是Throwable或者其子类的实例。下面的语句在编译时将会产生语法错误 throw new String(“want to throw”);,Java,Java的异常处理,抛弃异常,对于已存在的异常类,抛出该异常非常容易找到一个合适的异常类;创建这个类的一个对象;将该对象抛出;,Java,Java的异常处理,抛弃异常,对于已存在的异常类,抛出该异常非常容易 String readData(Scanner in)throws EOFExceptionwhile()if(!in.hasNext(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四讲 Java的异常处理 第四 Java 异常 处理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2201641.html