当 JAVA 程序违反了 JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表
示为一个异常。违反语义规则包括 2 种情况。一种是 JAVA 类库内置的语义检查。
例如数组下标越界,会引发 IndexOutOfBoundsException;访问 null 的对象时会
引发 NullPointerException。另一种情况就是 JAVA 允许程序员扩展这种语义检
查,程序员可以创建自己的异常,并自由选择在何时用 throw 关键字引发异常。
所有的异常都是 java.lang.Thowable 的子类。