一 、 异常的概念和 Java异常体系结构 异常是程序运行过程中出现的错误
本文主要讲授的是 Java语言的异常处理
Java语言的异常处理框架,是 Java语言健壮性的一 个重要体现
Java把异常当作对象来处理,并定义一 个基类 java
Throwable作为所有异常的超类
在 Java API中已经定义了许多异常类,这些异常类分为两大类,错误 Error和异常 Exception
Thorwable类所有异常和错误的超类,有两个子类 Error和 Exception,分别表示错误和异常
其中异常类 Exception又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)
下面将详细讲述这些异常之间的区别与联系: 1、Error与 Exception Error是程序无法处理的错误,比如 OutOfMemoryError、ThreadDeath等
这些异常发生时,Java虚拟机(JVM)一 般会选择线程终止
Exception是程序本身可以处理的异常,这种异常分两大类运行时异常和非运行时异常
程序中应当尽可能去处理这些异常
2、运行时异常和非运行时异常 运 行 时 异 常 都 是 RuntimeException类 及 其 子 类 异 常 , 如NullPointerException、IndexOutOfBoundsException等, 这些异 常 是 不检查异 常 , 程序中可以选择捕获处理, 也可以不处理
这些异 常 一般是 由程序逻辑错误引起的, 程序应该从逻辑角度尽可能避免这类 异 常 的发生
非运 行 时 异 常 是 RuntimeException以外的异 常 , 类 型上都 属于 Exc