Contents

认识java异常

在java语言中,一个异常对象通常是继承类Throwable的一个类的对象。通过继承类Throwable我们可以创建自己的异常类。
下图1.1是java中异常的系统结构的简单图
java中异常系统图
从上图我们可以看到java中所有的异常都继承与Throwable,随后又分为两个分支:Error和Exception。

Error分支描述的是java运行时系统的内部错误和资源消耗状况。在编程时,我们不能抛出此类异常。当次类异常发生时,我们得不到关于此类异常更多详细的信息。

编程时,我们当关注Exception。Exception向下分为RuntimeException运行时异常和非运行时异常。通常我们这样划分运行时异常和非运行时异常:当一个编程错误发生时,此类异常称为RuntimeException。除此之外其他情况下的异常是当发生了不好的情况,例如一个I/O错误。

RuntimeException运行时错误发生的情况有如下:

  • 不恰当地类型转换
  • 数组越界访问
  • 访问空指针

Exception中除RuntimeException外其他异常发生的情况如下:

  • 越界读取文件
  • 试图打开一个不存在的文件
  • 试图获取一个不存在的字符串的Class对象(trying to find a Class object for a string that does not denote an existing class)
Contents