1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 跟我学java编程—认识Java的异常及异常处理类

跟我学java编程—认识Java的异常及异常处理类

时间:2023-06-15 04:40:35

相关推荐

跟我学java编程—认识Java的异常及异常处理类

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

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

图 13-1 除数为0时,抛出异常

当然如果程序员对变量b做了预防为0的判断,控制台将不会显示图中所示内容,这就是异常,也就是程序运行过程中出现的错误或不正常的情况。发行异常就需要处理,Java语言提供了处理异常的机制。

Java提供了一个Throwable类,Throwable类是Java语言中所有处理错误或异常的超类,只要当对象是此类或其子类之一的实例时,才能通过Java虚拟机或者java的throw语句抛出异常。类似的,只有此类或其子类之一才可以是catch子句中的参数类型。它的两个子类的实例Error和Exception通常用于指示发生了异常情况。这些实例是在异常情况的上下文中创建的,因此包含了相关的程序运行信息。Throwable类及其子类的结构如下图所示:

图 13-2 Throwable类及其子类结构图

Throwable类充当所有对象的父类,可以使用异常处理机制将这些对象的异常抛出并捕获。在Throwable类中定义方法来检索与异常相关的错误信息,并打印显示异常发生的栈跟踪信息。它有Error和Exception两个基本子类。

● 错误(Error):JVM系统内部错误,资源耗尽等严重情况。

● 异常(Exception):其它因编程错误或偶然的外在因素导致的一般性问题。例如,除数为零、数组越界、空指针访问、读取不存在的文件等。

当发生Error时,程序员根本无能为力,只能让程序终止。例如内存溢出,不可能指望程序能处理这样的情况。而对于Exception,则有补救或控制的可能,程序员也可以预先防范。异常处理主要是针对Exception进行,Exception的API说明如下图所示:

图 13-3 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的子类。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。