首页 > 文章列表 > java异常处理的分类解决

java异常处理的分类解决

java异常
497 2022-08-06

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1、说明

(1)对于运行时异常来说, 可以不显式的进行处理

(2)对于编译时异常来说, 必须要显式的进行处理

2、方式一:

try{
// 可能出现异常的代码
}catch(Exption1 e1){
// 处理方式一
}catch(Exption2 e2){
// 处理方式二
}finally{
// 一定要执行的代码
}

注:

(1)try 内声明的变量, 类似于局部变量, 除了 try{} 语句, 就不能被调用

(2) catch 语句内部是对异常对象的处理: e.getMessage(); e.printStackTrace()

(3)可以由多个 catch 语句, try 中抛出的异常类对象从上往下去匹配 catch 中的异常类的类型, 一旦满足就执行 catch 中的代码. 执行完, 就跳出其后的多条 catch 语句

(4)如果异常处理了, 那么其后的代码继续执行

(5)若 catch 中多个异常类型是"并列"关系, 那么顺序前后都可以. 若 catch 中多个异常类型是"包含"关系, 须将子类放在父类的之前, 进行处理. 否则报错

(6)finally 是可选的

(7) finally 中存放的是一定会被执行的代码不管 try 中、catch 中是否仍有异常未被处理, 以及是否有 return 语句

(8)try-catch 是可以互相嵌套的

3、方式二:

(1)在方法的声明处, 显式的抛出该异常对象的类型

(2) 格式,如: 

public static void method() throws Exception{}

(3)当在此方法内部出现异常的时候, 会抛出一个异常类的对象, 抛给方法的调用者

(4)异常的对象可以逐层向上抛, 直到main中. 当然在向上抛出的过程中, 可以再通过 try-catch-finally进行处理