初学者必懂:Java异常处理实战案例
Java异常处理是Java编程中不可或缺的一部分。它帮助我们预判和处理程序运行中的错误情况,保证程序的稳定性和健壮性。以下是一些实战案例:
- try-catch-finally 基本结构,用于捕获并处理异常。
try {
// 可能抛出异常的代码
int divisionResult = 10 / 0; // 这将抛出ArithmeticException
} catch (ArithmeticException e) { // 捕获到ArithmeticException,对其进行处理
System.out.println("除数不能为零!" + e.getMessage());
} finally {
// 在任何情况下都要执行的代码
System.out.println("程序执行完毕。");
}
- 多级异常处理 当一个类已经处理了某个特定类型的异常时,可以选择向上抛出更高级别的异常。
public class BankAccount {
private double balance;
// 构造函数,初始化账户余额
public BankAccount(double initialBalance) {
if (initialBalance < 0) { // 处理负数初始金额引发的ArithmeticException
throw new IllegalArgumentException("账户金额不能为负!");
}
balance = initialBalance;
}
// 提供方法,用于向银行存款
public void deposit(double amount) {
if (amount <= 0) { // 处理非正数存款金额引发的IllegalArgumentException
throw new IllegalArgumentException("存款金额必须大于零!");
}
balance += amount;
System.out.println("存款成功。当前账户余额:" + balance);
}
// 提供方法,用于向银行取款
public void withdraw(double amount) {
if (amount <= 0 || amount > balance) { // 处理多种情况引发的ArithmeticException或IllegalArgumentException
throw new ArithmeticException("取款金额必须大于零,并且不能超过账户余额。");
}
balance -= amount;
System.out.println("取款成功。当前账户余额:" + balance);
}
public static void main(String[] args) {
BankAccount account = new BankAccount(100); // 创建初始余额为100的银行账户
try {
// 存款
account.deposit(50);
// 取款
account.withdraw(25);
} catch (ArithmeticException e) {
System.out.println("发生错误:" + e.getMessage());
}
// 无论是否抛出异常,finally代码块都会执行
System.out.println("程序结束。");
}
}
通过以上案例,你不仅能理解Java异常处理的基本逻辑,还可以在实际编程中灵活运用这些知识。
还没有评论,来说两句吧...