可能重复:
何时选择已检查和未检查的异常
我应该何时创建一个已检查的异常,何时应该生成运行时异常?
例如,假设我创建了以下类:
public class Account {
private float balance;
/* ... constructor, getter, and other fields and methods */
public void transferTo(Account other, float amount) {
if (amount > balance)
throw new NotEnoughBalanceException();
/* ... */
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何创建我的NotEnoughBalanceException?它应该延伸Exception还是RuntimeException?或者我应该使用IllegalArgumentException?
我知道在某些版本中,Hibernate异常被更改为未选中.是什么原因?这是一个哲学问题还是实际问题?