Java的可检测异常和非检测异常泾渭分明.可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则. 非检测异常不遵循处理或声明规则.在产生此类异常时,不一定非要采取任何适当操作,编译器不会检查是否已解决了这样一个异常.有两个主要类定义非检测异常:RuntimeException和Error. 为什么Error子类属于非检测异常?这是因为无法预知它们的产生时间.若Java应用程序内存不足,则随时可能出现OutOfMemoryError:起因一般不是应用程序中的特殊调用,…