初学者必懂:Java异常处理实战案例

原创 短命女 2024-11-25 10:12 65阅读 0赞

Java异常处理是Java编程中不可或缺的一部分。它帮助我们预判和处理程序运行中的错误情况,保证程序的稳定性和健壮性。以下是一些实战案例:

  1. try-catch-finally 基本结构,用于捕获并处理异常。
  1. try {
  2. // 可能抛出异常的代码
  3. int divisionResult = 10 / 0; // 这将抛出ArithmeticException
  4. } catch (ArithmeticException e) { // 捕获到ArithmeticException,对其进行处理
  5. System.out.println("除数不能为零!" + e.getMessage());
  6. } finally {
  7. // 在任何情况下都要执行的代码
  8. System.out.println("程序执行完毕。");
  9. }
  1. 多级异常处理 当一个类已经处理了某个特定类型的异常时,可以选择向上抛出更高级别的异常。
  1. public class BankAccount {
  2. private double balance;
  3. // 构造函数,初始化账户余额
  4. public BankAccount(double initialBalance) {
  5. if (initialBalance < 0) { // 处理负数初始金额引发的ArithmeticException
  6. throw new IllegalArgumentException("账户金额不能为负!");
  7. }
  8. balance = initialBalance;
  9. }
  10. // 提供方法,用于向银行存款
  11. public void deposit(double amount) {
  12. if (amount <= 0) { // 处理非正数存款金额引发的IllegalArgumentException
  13. throw new IllegalArgumentException("存款金额必须大于零!");
  14. }
  15. balance += amount;
  16. System.out.println("存款成功。当前账户余额:" + balance);
  17. }
  18. // 提供方法,用于向银行取款
  19. public void withdraw(double amount) {
  20. if (amount <= 0 || amount > balance) { // 处理多种情况引发的ArithmeticException或IllegalArgumentException
  21. throw new ArithmeticException("取款金额必须大于零,并且不能超过账户余额。");
  22. }
  23. balance -= amount;
  24. System.out.println("取款成功。当前账户余额:" + balance);
  25. }
  26. public static void main(String[] args) {
  27. BankAccount account = new BankAccount(100); // 创建初始余额为100的银行账户
  28. try {
  29. // 存款
  30. account.deposit(50);
  31. // 取款
  32. account.withdraw(25);
  33. } catch (ArithmeticException e) {
  34. System.out.println("发生错误:" + e.getMessage());
  35. }
  36. // 无论是否抛出异常,finally代码块都会执行
  37. System.out.println("程序结束。");
  38. }
  39. }

通过以上案例,你不仅能理解Java异常处理的基本逻辑,还可以在实际编程中灵活运用这些知识。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,65人围观)

还没有评论,来说两句吧...

相关阅读