异常:程序在运行过程中发生由于外部问题(如硬件错误、输入错误)等导致的程序异常事件。
(在Java等面向对象的编程语言中)异常本身是一个对象,产生异常就是产生了一个异常对象。
异常产生原因:
在 Java 中一个异常的产生,主要有如下三种原因:
(1)Java 内部错误发生异常,Java 虚拟机产生的异常。
(2)编写的程序代码中的错误所产生的异常,例如空指针异常、数组越界异常等。这种异常称为未检査的异常,一般需要在某些类中集中处理这些异常。
(3)通过 throw 语句手动生成的异常,这种异常称为检査的异常,一般用来告知该方法的调用者一些必要的信息。
异常使用原则:
Java 异常强制用户考虑程序的强健性和安全性。异常处理不应用来控制程序的正常流程,其主要作用是捕获程序在运行时发生的异常并进行相应处理。编写代码处理某个方法可能出现的异常,可遵循如下三个原则:
(1)在当前方法声明中使用 try catch 语句捕获异常。
(2)一个方法被覆盖时,覆盖它的方法必须拋出相同的异常或异常的子类。
(3)如果父类抛出多个异常,则覆盖方法必须拋出那些异常的一个子集,而不能拋出新异常。
异常与错误的区别
异常(Exception)都是运行时的。编译时产生的不是异常,而是错误(Error)。
最开始大家都将程序设计导致的错误(Error)认定文不属于异常(Exception)。
但是一般都将Error作为异常的一种,所以异常一般分两类,Error与Except。