每天早上八点,准时推送干货
我们在开发的过程中,会有各种各样的对异常的操作,比如,我们捕获异常,然后给前端进行返回,还有就是抛出异常,返回给调用者来处理,但是你了解异常么?了不起今天就带大家来了解一下关于异常的一些事情。
Java中的异常处理机制是Java编程语言中一个非常重要的组成部分,它提供了一种结构化且灵活的方式来处理程序在运行时可能出现的错误。通过合理的异常处理,程序可以更加健壮、可靠,并且能够向用户提供更好的使用体验。
Java中的异常可以分为两大类:检查型异常(Checked Exception)和非检查型异常(Unchecked Exception),此外还有一个特殊的异常类Error。
检查型异常(Checked Exception):
非检查型异常(Unchecked Exception)
Error:
Java中提供了几个关键字用于异常处理,包括try、catch、finally、throw和throws。
try:
catch:
finally:
throw:
throws:
当程序中出现异常时,Java虚拟机会根据异常类型的匹配情况,自上而下地查找匹配的catch块。如果找到了匹配的catch块,则执行该块中的代码,并且程序会继续执行catch块之后的代码;如果没有找到匹配的catch块,则异常会继续向上层调用栈抛出,直到找到合适的catch块或者程序终止。
Java的异常处理机制采用了“捕获并处理”的方式,即异常被捕获后会进行相应的处理,而不会导致程序的崩溃。根据具体的业务需求,在catch块中可以进行一些处理操作,比如打印异常信息、记录日志、返回默认值等。
除了Java提供的异常类之外,程序员还可以自定义异常类来表示特定的异常情况。自定义异常类通常是继承自Exception类或其子类。通过自定义异常,程序员可以更加精确地描述程序中出现的问题,并提供更具体的错误信息。
自定义异常类通常需要包含至少一个带有String参数的构造方法,用于设置异常消息。此外,根据实际需要,还可以添加更多的属性和方法来满足特定的异常处理需求。
我们来看看异常处理的代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ExceptionDemo {
public static void main(String[] args) {
FileReader fileReader = null;
BufferedReader bufferedReader = null;
try {
fileReader = new FileReader("example.txt");
bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error reading file: " + e.getMessage());
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
System.out
1.捕获并处理特定异常
2. 确保资源正确释放
3. 提高程序稳定性和可靠性
4.自定义异常处理逻辑
5.全局异常处理
6.跨方法异常传递
7.链式异常处理
关于异常你学会了么?