Java中的异常情况都是继承自Throwable的类,所有的Throwable类的子孙类生成的对象都是异常。按一般规则,异常情况可以分为以下的几大类:
(1) Error:很严重的系统错误,由Java虚拟机生成并抛出,由系统而不是用户的Java程序来做处理。
(2) Runtime Exception:诸如被0除、数组下标越界之类的系统异常情况;由系统检测,用户的Java程序可不做处理,系统将它们交给缺省的异常处理程序。
(3) Exception:程序本身中出现的问题,是可预知的;Java编译器要求Java程序必须捕获或声明所有的这种非运行时异常。
(4) 用户自己定义的异常:用户自己规定某种情况需要特殊的处理,可以通过throw得到所需要的异常并进行处理。
当异常出现在程序运行中之前用户就应该先找出在程序中可能出现异常的地方。这些地方通常与用户的输入有关。程序员应该知道异常抛出是由于程序错误导致的。我们将需要在用户的程序中进行监视的常见异常列表表示,我们在上一节的例子中的异常就是表中第一种异常的子类。
(1) Error:很严重的系统错误,由Java虚拟机生成并抛出,由系统而不是用户的Java程序来做处理。
(2) Runtime Exception:诸如被0除、数组下标越界之类的系统异常情况;由系统检测,用户的Java程序可不做处理,系统将它们交给缺省的异常处理程序。
(3) Exception:程序本身中出现的问题,是可预知的;Java编译器要求Java程序必须捕获或声明所有的这种非运行时异常。
(4) 用户自己定义的异常:用户自己规定某种情况需要特殊的处理,可以通过throw得到所需要的异常并进行处理。
当异常出现在程序运行中之前用户就应该先找出在程序中可能出现异常的地方。这些地方通常与用户的输入有关。程序员应该知道异常抛出是由于程序错误导致的。我们将需要在用户的程序中进行监视的常见异常列表表示,我们在上一节的例子中的异常就是表中第一种异常的子类。