可能的复制品:
何时选择已检查异常和未检查异常
什么时候应该创建选中的异常,什么时候应该创建运行时异常?
例如,假设我创建了以下类:
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();
/* ... */
}
}
我应该如何创建我的 NotEnoughBalanceException
? 它应该扩展 Exception
还是 RuntimeException
? 或者我应该只是使用 IllegalArgumentException
代替?