手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

认识Java的异常及异常处理类

时间:2024-10-11 22:43:24

1、前面一节介绍了Java的异常处理,对异常有了大概了解,现在再从编码的角度来理解异常。试运行如下代码

认识Java的异常及异常处理类

2、上面的代码中,b为零值,当执行c= a / b语句时,程序抛出异常,控制台会显示如下图所示的内容

认识Java的异常及异常处理类

3、当然如果程序员对变量b做了预防为0的判断,控制台将不会显示图中所示内容,这就是异常,也就是程序运行过程中出现的错误或不正常的情况。发行异常就需要处理,Java语言提供了处理异常的机制。Java提供了一个Throwable类,Throwable类是Java语言中所有处理错误或异常的超类,只要当对象是此类或其子类之一的实例时,才能通过Java虚拟机或者java的throw语句抛出异常。类似的,只有此类或其子类之一才可以是catch子句中的参数类型。它的两个子类的实例Error和Exception通常用于指示发生了异常情况。这些实例是在异常情况的上下文中创建的,因此包含了相关的程序运行信息。Throwable类及其子类的结构如下图所示

认识Java的异常及异常处理类

4、Throwable类充当所有对象的父类,可以使用异常处理机制将这些对象的异惘度谋裆常抛出并捕获。在Throwable类中定义方法来检索与异常相关的错误信息,并打印显示异常发生的栈跟踪信息。它有Error和Exception两个基本子类。● 错误(Error):JVM系统内部错误,资源耗尽等严重情况。● 异常(Exception):其它因编程错误或偶然的外在因素导致的一般性问题。例如,除数为零、数组越界、空指针访问、读取不存在的文件等。当发生Error时,程序员根本无能为力,只能让程序终止。例如内存溢出,不可能指望程序能处理这样的情况。而对于Exception,则有补救或控制的可能,程序员也可以预先防范。异常处理主要是针对Exception进行,Exception的API说明如下图所示图中包含了众多Exception类的已知子类,也不必担心这么多子类记不住,在实际使用时查阅异常类的文档即可。下面列出常见的异常类:● Exception:异常层次结构的根类● RuntimeException:Java.lang异常的基类● ArithmeticException:算术错误异常类,如零作为除数● ArrayIndexOutOfBoundsException:数组越界异常处理类● NullPointerException:尝试访问NULL 对象或成员● ClassNotFoundException:不能加载所需的类● IOException:I/O异常的根类异常处理机制可以从两个方面来描述,当一个Java程序违法了Java语义规范时,JVM虚拟机就会抛出一个异常。例如数组下标越界,会引发IndexOutOfBoundsException异常,访问null的对象时会引发NullPointerException异常。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

认识Java的异常及异常处理类
© 手抄报圈