标签:
0、C++异常处理机制基于Ada,Java异常处理则是基于C++
1、Java异常类层次结构
所有异常类都继承自Throwable类,并有两个主要分支:Error和Exception;
Error类描述Java运行时系统的内部资源和资源耗尽错误,表示编译时和系统错误;
Exception类又包括两个主要分支:RuntimeException;和其他异常(如IOException等)
1)RuntimeException:运行时异常,包括有:错误的类型转换(ClassCastException)
数组访问越界(IndexOutOfBoundsException)
访问空指针(NullPointerException)
只能在代码中忽略RuntimeException(及其子类)类型的异常,其他类型异常的处理都是由编译器强制实施的
RuntimeException代表的是编程错误,如无法预料的错误(null指针),应该在代码中注意进行检查的错误(如越界错误);
2)其他异常:如IOException,ClassNotFoundException
2、未检查异常(unchecked):所有派生于Error和RuntimeException的所有异常
已检查异常(checked): 所有其他的异常
编译器将核查是否为所有已检查异常提供了异常处理器;
3、与C++异常机制的联系
C++中有两个基本的异常类,logic_error(程序中的逻辑错误,相当于RuntimeException),runtime_error(所有由不可测原因印发的异常,非RuntimeException异常)
Java异常
标签:
原文地址:http://blog.csdn.net/woliuyunyicai/article/details/45025331