Error和Exception的区别
Error类体系
描述了java运行系统中的内部错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般都是由jvm抛出)。如果出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。所以,在进行程序设计时,应该更关注Exception体系。
Exception类体系
Exception体系包括RuntimeException体系和非RuntimeException的体系。
其中RuntimeException体系包括错误类型的转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是程序员的错误。例如,可以通过检查数组下标和数组边界来避免数组越界访问异常。
其他非RuntimeException异常(如IOExcption等等)
这类异常一般是外部错误,例如试图从文件尾部读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
其实弄明白上面两种报错类型的含义,区别就自然明白了。