异常分为两类,一个是检查异常,一个是非检查异常。
检查异常也叫做非运行时异常,,也叫运行异常,这种异常必须被处理,如果不被处理,就不会编译通过。
非检查异常它们都是RuntimeException的子类,这种异常可处理也可不处理,可以直接抛出。也就是说
可以用throws。
throws关键字是用于方法体内部,用来抛出一个Throwable类型的异常。如果抛出了检查异常,则还应该在方法头部声明方法可能抛出的异常类型。
该方法的调用者也必须检查处理抛出的异常。如果所有方法都层层上抛获取的异常,最终JVM会进行处理,处理也很简单,
就是打印异常消息和堆栈信息。如果抛出 的是Error或RuntimeException,则该方法的调用者可选择处理该异常。 |