当我从一个方法中抛出已检查的异常时,我应该在方法签名中只声明异常的超类还是所有不同类型的异常都要声明?如果我有以下异常:
方法签名应该是什么?
或者
在最后的方法签名中,我要怎样告诉其他开发者这个方法可能会抛出哪些异常?如果不同的子类型需要不同的处理呢?
private class SuperException extends Exception {
}
private class SubExceptionOne extends SuperException {
}
private class SubExceptionTwo extends SuperException {
}
方法签名应该是什么?
void confirmAccount() throws SubExceptionOne, SubExceptionTwo;
或者
void confirmAccount() throws SuperException;
在最后的方法签名中,我要怎样告诉其他开发者这个方法可能会抛出哪些异常?如果不同的子类型需要不同的处理呢?
throws Exception
。有多少个子类?你想传达什么信息?例如,通常会声明throws IOException
而不是可能抛出的所有子类。 - Boris the Spider