我知道
throw new Exception();
有相当大的开销,因为它创建了一个完整的堆栈跟踪等
。
throw new Throwable();
提出同样的问题?这种行为是继承的,还是抛出 Throwable 的开销较小(o 否)?
编辑
从分析师的角度来看,输入错误密码的用户是程序正常执行顺序的例外。所以如果我有:
public Session newSession() {
validate_user_and_password();
}
从分析师的角度来看,抛出 UserNotValidException 听起来是正确的。
如果您的代码具有非常好的抽象,则返回null
或0
只是听起来不正确。我只是想知道我是否可以在代码中真正实现这一点,或者我是否不得不将其留给理论。
编程观点异常和分析师观点异常之间有很大的区别。
注意:我给出了一个非常简单和愚蠢的例子,这不是我的情况。
注2:我知道返回null
是很平常的事情,但是我需要有适当的抽象和OO代码,而且,就我个人而言,我认为这没有什么坏处。