在Java中,所有的异常都由类来表示.所有的异常类都是从一个名为Throwable的类派生出来的.因此,当程序发生异常时,就会生成某种类型的异常类的一个对象.Throwable有两个直接子类:Exception和Error.与Error类型异常相关的错误发生在Java虚拟机中,而不是在程序中.这些类型的异常超出了你的控制范围,而且你的程序通常不会对其进行处理.因此,我们这里不对其进行描述.
由程序活动导致的错误由Exception的子类表示.例如,除以0,数组越界和文件错误都属于这一类.你的程序应该处理这些类型的异常.Exception类有一个重要的子类RuntimeException,用于表示各种常见类型的运行时错误.