【JAVA基础教程】浅析JAVA例外处理

捕获例外:java

 Java产生例外对象后,会去寻找可以处理此例外的方法并交之处理,这一过程成为捕获(catch)。若找不到,运行时系统将终止程序员

抛弃例外:数组

  一个方法若不知道如何处理出现的例外,可声明抛弃(throws)ide

jdk中,每一个包都定义了例外类,全部的例外类都直接或间接继承于Throwable类。spa

java中的例外类可分为两大类:.net

  errororm

  exception对象

运行时例外:继承

  继承于RuntimeException的类都属于运行时例外,如算数(除零),数组越界等,因为例外产生的位置是未知的,java编译器容许程序员在程序中不对它们做出处理。事件

非运行时例外

   除运行时例外,即是非运行时例外,如FIleNotFindException(文件未找到例外),java编译器要求对这种例外必须做出处理,捕获例外或抛弃例外

例外的处理

  捕获例外

    经过try-catch-finally语句实现

    try:try语句所限定的代码块在执行过程中可能会产生例外对象并抛弃。

    catch:每一个try块能够伴随一个或多个catch语句,用于处理try块中所生成的例外事件。catch语句只需一个形参指明它所可以捕获的例外类型,这个类必须Throwable的子类,运行时系统经过参数值把被抛弃的例外对象传递给catch块。

 类Throwable提供了getMessage()方法:获得异常的相关信息,printStackTrace()用来跟踪事件发生时执行堆栈的内容。

catch语句的顺序,第一个例外捕获到后,剩下catch再也不捕获。故catch安排的顺序应该为从特殊到通常。即先安排子类在安排父类。

finally:为统一的出口,不管有无例外,都会执行。

 抛弃例外:

   若是一个方法中生成了一个例外,可是这一方法并不确切地知道该如何处理这一异常事件。

 此时,这一方法应当声明抛弃例外,使得例外对象能够从调用栈向后传播,直到有合适的方法捕获它为止。

   声明抛弃:

 声明抛弃例外实在一个方法声明中的throws子句中指明的。

                       public int read() throws IOException {

                    ...

                        }

 

  抛出例外:

      抛出例外就是产生例外对象的过程。首先生成例外对象,由虚拟机或者某些类的实例生成。经过throw语句实现。

      IOException e = new IOException();

        throw e;

PS:有问题能够在http://java.tanzhouedu.net,或在群:457036818中提出

相关文章
相关标签/搜索