一、Java异常类类图:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
java.lang.NullPointerException
java.lang.NumberFormatException
......
java.lang.Error
java.lang.ThreadDeath
二、各个类的说明:
1、Throwable
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。
2、Exception
Exception 类及其子类是 Throwable 的一种形式,它指出了合理的应用程序想要捕获的条件,表示程序本身可以处理的异常。它分为RuntimeException和受检查异常两种。
3、Error
Error 是 Throwable 的子类,表示仅靠程序本身无法恢复的严重错误,用于指示合理的应用程序不应该试图捕获的严重问题。
4、RuntimeException
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过,这种异常可以通过改进代码实现来避免。
5、受检查异常
受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。当然,这两种异常都是可以通过程序来捕获并处理的,比如除数为零的运行时异常。
三、Java异常处理机制:
对于可能出现异常的代码,有两种处理办法:
1、在方法中用try...catch语句捕获并处理异常,catach语句可以有多个,用来匹配多个异常。
2、对于处理不了的异常或者要转型的异常,在方法的声明处通过throws语句抛出异常。
如果Java虚拟机追溯到方法调用栈最底部main()方法时,如果仍然没有找到处理异常的代码块,将按照下面的步骤处理:
第一、调用异常的对象的printStackTrace()方法,打印方法调用栈的异常信息。
第二、如果出现异常的线程为主线程,则整个程序运行终止;如果非主线程,则终止该线程,其他线程继续运行。
通过分析思考可以看出,越早处理异常消耗的资源和时间越小,产生影响的范围也越小。因此,不要把自己能处理的异常也抛给调用者。
finally语句在任何情况下都必须执行的代码,这样可以保证一些在任何情况下都必须执行代码的可靠性。finally语句先于return语句执行,而不论其先后位置,也不管是否try块出现异常。finally语句唯一不被执行的情况是方法执行了System.exit()方法。System.exit()的作用是终止当前正在运行的 Java 虚拟机。
注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。
Java常见异常:
runtimeException子类:
1、 java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
相关推荐
Java 异常机制小结 Java 异常机制是 Java 语言中一个非常重要的方面,也是程序设计的一大难点。Java 语言在设计的当初就考虑到异常处理的框架的方案,使得所有的异常都可以用一个类型来表示,不同类型的异常对应...
在静态编译器中实现Java异常机制的算法 Java 异常机制是 Java 语言中的一种重要机制,用于处理程序中的异常情况。在静态编译器中实现 Java 异常机制可以提高 Java 程序的执行效率和可靠性。下面将对在静态编译器中...
### Java异常机制详解 #### 一、Java异常机制概述 Java异常处理机制是Java语言的一个重要组成部分,用于处理程序在运行过程中可能出现的各种错误情况。它能够帮助开发者更好地控制程序流,确保程序即使遇到异常也...
【JAVA异常机制与安卓应用程序崩溃分析】 JAVA异常机制是JAVA编程中的重要组成部分,它主要用于处理程序运行时出现的错误情况。当JAVA代码中发生异常时,程序会立即停止当前流程,转而寻找合适的异常处理代码,这个...
Java异常处理是编程中至关重要的一个环节,它用于在程序执行过程中捕获并处理错误情况。异常机制使得程序能够优雅地处理错误,而不是因为意外情况而突然终止。在这个例子中,我们将探讨如何自定义异常以及如何在Java...
对面试过程中Java异常机制总结、包括异常的分类、运行机制和实例分析等
异常机制使得异常处理代码与正常的业务逻辑得以分离,从而提高代码的可读性和维护性。 **Java异常架构** Java异常是基于`Throwable`类构建的,它是所有异常和错误的根类。`Throwable`有两个主要的子类:`Error`和`...
通过实现本文提出的Java异常机制的静态编译算法,Open64编译器可以正确编译Java程序。 栈展开是被编译器和Java虚拟机普遍使用的一种实现异常处理机制的方法。本文针对传统的栈展开算法中存在的不足,提出了一种改进的...
Java 异常机制详解 Java 异常机制是 Java 语言中的一种错误处理机制,它可以帮助开发者捕获和处理程序运行时的错误和异常。Java 异常机制包括 Error、Exception、检查异常、运行时异常、异常处理和 throws 关键字等...
14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理机制.zip14.java异常处理...
这份“Java异常学习资料”包含了丰富的资源,帮助你深入理解Java异常机制,提升代码质量。 1. **异常概述** Java异常是一种在程序执行期间发生的错误或不正常情况,它可以是编译时错误,也可以是运行时错误。Java...
Java 异常机制详解 Java 异常机制是 Java 语言中的一种错误处理机制,它允许开发者在程序中捕获和处理异常。异常机制的主要组件包括 Throwable、Error 和 Exception。 1. Throwable Throwable 是 Java 语言中最...
Java异常机制是Java编程语言中一个关键特性,它允许程序员优雅地处理程序运行时可能出现的错误情况,确保程序的稳定性和健壮性。异常(Exception)是程序执行过程中发生的问题,通常是由非法操作或者不可预见的情况...
Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: ...正确理解和运用Java内存机制以及异常处理机制对于开发健壮、高效的Java应用程序至关重要。
### 浅析JAVA异常处理机制 #### 一、Java异常处理机制概述 异常处理是Java语言中的一个重要机制,它能够确保程序在遇到不可预料的情况时仍能维持稳定运行。异常处理主要包括三个方面:捕获异常、控制程序流程以及...
【Java异常机制】Java异常机制是Java编程中用于处理程序运行时可能出现错误的一种方式。异常是一种特殊的对象,代表了程序运行过程中的不正常状态。在Java中,异常分为两种类型:Error和Exception。Error通常表示...
自定义异常是Java异常机制中的一个重要组成部分,开发者可以根据需要定义新的异常类,继承自Exception或其子类,然后在代码中抛出并处理。异常链是处理异常的一种方式,指的是在一个异常处理的过程中,创建一个新的...
### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...