java
主页 > 软件编程 > java >

Java对异常的认识与异常的处理介绍

2025-06-13 | 佚名 | 点击:

一、认识异常与异常类型。

(1)简单定义-什么是异常?

(2)常见比喻

(3)异常类型

   (4)  异常体系图 

1

2

3

4

5

6

7

8

9

10

11

12

13

Throwable

├── Error(系统错误,如OutOfMemoryError)

└── Exception

    ├── RuntimeException(运行时异常/非受检查异常)

    │   ├── ArithmeticException

    │   ├── NullPointerException

    │   ├── ArrayIndexOutOfBoundsException

    │   └── ...

    └── 其他(编译时异常/受检查异常)

        ├── IOException

        ├── SQLException

        ├── ClassNotFoundException

        └── ...

二、异常的处理

  (1)try-catch-finally 基本结构

1

2

3

4

5

6

7

8

9

10

try {

    // 可能抛出异常的代码

} catch (ExceptionType1 e) {

    // 处理ExceptionType1类型的异常

} catch (ExceptionType2 e) {

    // 处理ExceptionType2类型的异常

} finally {

    // 无论是否发生异常都会执行的代码

    // 常用于资源释放

}

       多重catch块注意事项
  • 子类异常必须写在父类异常前面

  • 捕获异常后程序会继续执行

 finally块的特点
  • 无论是否发生异常都会执行

  • 即使try或catch中有return语句,finally也会执行

  • 唯一不执行finally的情况:System.exit()

小结
  • try:划定"危险区",包裹可能出错的代码
  • catch:设置"急救站",捕获并处理特定异常
  • finally:建立"清理队",确保必须执行的收尾工作

(2)throws关键字  当方法内部不处理异常时,可以使用throws声明抛出

用于方法声明,表示该方法可能抛出异常但不处理

1

2

3

public void readFile() throws IOException {

    // 方法代码

}

(3)throw关键字  

使用throw手动触发异常

主动抛出异常对象

1

2

3

if (age < 0) {

    throw new IllegalArgumentException("年龄不能为负数");

}

(4)自定义异常 

通过继承Exception或RuntimeException创建

1

2

3

4

5

class MyException extends Exception {

    public MyException(String message) {

        super(message);

    }

}

(5)异常处理注意事项

三、总结 

原文链接:
相关文章
最新更新