exception in java
Contents
认识java异常
在java语言中,一个异常对象通常是继承类Throwable的一个类的对象。通过继承类Throwable我们可以创建自己的异常类。
下图1.1是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)
