基类为Throwable,Error和Exception继承Throwable
Error类体系描述了Java运行系统中的内部
错误以及资源耗尽的情形。应用程序不应该抛出这种类型的对象(一般是由虚拟机抛出)。
Exception体系包括RuntimeException体系和其他非RuntimeException的体系 :
① RuntimeException:RuntimeException体系包括错误的
类型转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是:如果出现RuntimeException,那么一定是
程序员的错误
(2)其他非RuntimeException(IOException等等):这类
异常一般是外部错误,例如试图从文件尾后读取数据等,这并不是程序本身的错误,而是在应用环境中出现的外部错误。
在java中,异常分为两种,运行时异常(也就是uncheckException)和已检查异常checkException
checkException是必须要处理的,也就是不能抛出,必须通过try-catch来完成,不处理的话是不能进行编译的,既然是checked异常,catch clause里理应做些有用的事情??修复它!catch里为空白或者仅仅打印出错信息都是不妥的!为空白就是假装不知道甚至瞒天过海,但是,出来混迟早 要还的,迟早会报unchecked异常并程序挂起