爱收集资源网

Java语言中所有错误或异常的超类:运行期异常

网络整理 2022-04-13 11:01

Thorwable 类:是 Java 语言中所有错误或异常的超类

异常:编译时异常,编译(编写代码)java程序的问题

RuntimeException:运行时异常,java程序运行过程中出现的问题

异常相当于程序出现小问题(感冒、发烧),处理异常,程序可以继续执行(吃点药,继续工作)

错误:相当于程序出现了无法治愈的问题,必须修改源代码后程序才能继续执行

1)。

throws 关键字:处理异常的第一种方式,留给别人处理

影响:

当方法内部抛出异常时,我们必须处理异常对象

可以使用 throws 关键字处理异常,将异常对象声明抛给方法的调用者处理(自己不要处理,交给别人处理)最后交给JVM处理->中断处理

注意:

1.Throws 关键字必须写在方法声明中

2.throws 关键字后声明的异常必须是 Exception 或 Exception 的子类

3. 如果方法内部抛出了多个异常对象,那么在 throws 之后也必须声明多个异常

如果抛出的多个异常对象有子父类关系,则直接声明父类异常。

4.调用了声明抛出异常的方法,声明的异常必须处理

要么继续使用throws语句抛出,交给方法调用者,最后交给JVM

要么尝试......自己处理异常

2)。

try...catch:处理异常的第二种方式,自己处理异常

格式:

尝试{

可以产生异常的代码

}catch(定义一个异常变量接收try抛出的异常对象){

异常处理逻辑,异常对象产生后如何处理

一般在工作中,异常信息会记录在日志中

}

catch(异常类名变量名){

}

注意:

1.try 可能会抛出多个异常对象,那么可以使用多个catch 来处理这些异常对象

2.如果try发生异常,会执行catch中的异常处理逻辑,执行catch中的处理逻辑,继续执行try...catch之后的代码

如果try没有产生异常,那么catch中异常的处理逻辑就不会被执行。执行完try中的代码后,继续执行try...catch后的代码

3)。

最后阻止:

格式:

尝试{

可以产生异常的代码

}catch(定义一个异常变量接收try抛出的异常对象){

异常处理逻辑,异常对象产生后如何处理

一般在工作中,异常信息会记录在日志中

}

catch(异常类名变量名){

}最后{

无论是否发生异常都会执行

}

注意:

1.终于不能单独使用了声明异常的关键字是,必须配合try

2.finally一般用于资源释放(资源回收),不管程序是否异常,最后都必须释放资源(IO)

3.如果finally有return语句,总是在finally中返回结果,避免在finally中使用return

4)。

抛出关键字

作用:可以使用throw关键字在指定方法中抛出指定异常

格式:

throw new XXXException("异常原因");

注意:

1.throw 关键字必须写在方法内部

2.throw 关键字后的新对象必须是 Exception 或 Exception 的子类

3.throw 关键字抛出指定的异常对象,我们必须处理这个异常对象

throw关键字后面创建的是RuntimeException或者RuntimeException的子类对象,我们可以不理会,默认留给JVM处理(打印异常对象声明异常的关键字是,中断程序)

throw关键字后面创建的是编译异常(写代码时报错),我们必须处理这个异常,要么throw,要么try...catch

try 异常处理 throws