Java异常处理不当案例
在Java编程中,如果异常处理不当,可能会导致程序运行错误、数据丢失甚至系统崩溃。下面是一个不恰当的异常处理案例:
public class BankAccount {
private double balance;
public void deposit(double amount) {
if (amount < 0) { // 不当处理:应该检查金额是否为正数
throw new IllegalArgumentException("Deposit amount must be positive.");
}
balance += amount;
System.out.println("Deposit successful! New balance: " + balance);
}
public void withdraw(double amount) {
if (amount < 0 || amount > balance) { // 不当处理:同时检查金额是否为负数和大于当前余额
throw new IllegalArgumentException("Withdrawal amount exceeds available balance or is negative.");
}
balance -= amount;
System.out.println("Withdrawal successful! New balance: " + balance);
}
}
在这个案例中,我们在deposit
方法和withdraw
方法中没有正确处理异常。这可能导致程序在错误操作时崩溃。
正确的做法应该是:
- 在可能抛出异常的地方使用
try-catch
块。 - 对于不符合条件的异常(如金额负数或大于余额),应包含在
catch
块内,并提供清晰的错误信息。 - 如果有必要,可以将
catch
块中的处理逻辑封装到一个单独的方法中,以提高代码的可维护性和复用性。
还没有评论,来说两句吧...