为什么要声明方法抛出异常?
方法是否抛出异常与方法返回值的类型一样重要。假设方法抛出异常却没有声明该方法将抛出异常,那么客户程序员可以调用这个方法而且不用编写处理异常的代码。那么,一旦出现异常,那么这个异常就没有合适的异常控制器来解决。
那么为什么抛出的异常一定是已检查异常?RuntimeException与Error可以在任何代码中产生,它们不需要由程序员显示的抛出,一旦出现错误,那么相应的异常会被自动抛出。而已检查异常是由程序员抛出的,这分为两种情况,客户程序员调用会抛出异常的库函数(库函数的异常由程序员抛出),客户程序员自己使用throw语句抛出异常,遇到Error,程序员一般是无能为力的,遇到RuntimeException,那么一定是程序员存在逻辑错误,要对程序进行修改(相当于调试一种方法),只有已检查异常才是程序员所关心的,程序应该且仅应该抛出或者处理已检查异常。