|
摘要:
它主要包括系统内部错误以及资源耗尽等情况,将自它或者它的子类衍生出来的任何违例都称作“不检查违例”(Unchecked Exceptions),如果你对StackTrace不是很熟悉
have occurred. Typically, these instances are freshly created in the context of the exceptional situation so as to include relevant information (such as stack trace data).
从中我们可以看出:
1)在Java中,违例对象必然是从Throwable中衍生出来的一个类的实例。
2) Throwable包含两个直接子类Error(错误)和Exception(违例)。
3)我们可以创建自己的违例类,只要它是从Throwable或其子类中衍生出来即可(确切地讲应该是从Exception或其子类中衍生出来,本文不准备详细讨论如何创建自己的违例类,你可以参考相关的资料)。
Error类和Exception类 Error表示那些由于异常情况引起的严重错误,我们不应去捕获这类对象,它主要包括系统内部错误以及资源耗尽等情况。而Exception类表示那些你必须去捕捉并处理的情况。
检查违例(Checked Exceptions)和不检查违例(Unchecked Exceptions) 在Exception的子类中有一个非常重要的类:RuntimeException(2)。Java中将自它或者它的子类衍生出来的任何违例都称作“不检查违例”(Unchecked Exceptions),自其他Exception子类衍生出来的违例都称作“检查违例”(Checked Exceptions)(3)。
不检查违例包括的问题主要有:造型错误,数组越界存取,空指针访问等,这些问题一般来说都是你程序编写的问题。简单地说,不检查违例就是那些由编译器来检查而无需你程序中控制的违例。而检查违例是指那些你必须处理的违例,否则编译时会产生一个编译错误。你可以选择下面任意一种方法来处理它:
1)捕获违例:在try代码块后面紧跟catch处理代码块
2)声明违例:在方法签名中用throws来通告可能会产生违例
Throwable类的构造器和方法 上面我们已经提到throwable是所有违例的超类,在这里我们就来分析一下它。Throwable类有四个构造器方法:
Throwable()
Throwable(String messa |