博主打算从0-1讲解下java基础教学,今天教学第五篇: Java异常处理。
异常处理是Java编程中重要的一部分,它允许开发人员在程序运行时检测和处理各种错误情况,以保证程序的稳定性和可靠性。在Java中,异常被表示为对象,它们是Throwable类的子类。常见的异常包括受检异常(Checked Exception)和非受检异常(Unchecked Exception)。
一、异常分类
-
受检异常(Checked Exception):必须在方法的throws子句中声明或在try-catch块中捕获的异常,通常是由外部因素引起的,如IO异常、数据库访问异常等。
-
非受检异常(Unchecked Exception):是RuntimeException或其子类的异常,通常由编程错误导致,如空指针异常、数组下标越界异常等。
二、异常处理机制
Java的异常处理机制主要由try-catch块、throws关键字和finally块组成。
1、try-catch块:用于捕获和处理异常。try块中包含可能抛出异常的代码,catch块用于捕获和处理异常。如果try块中的代码抛出异常,则会跳转到与之匹配的catch块,执行相应的处理代码。
try {
// 可能产生异常的代码
} catch (ExceptionType e) {
// 处理异常的代码
}
2、throws关键字:用于声明一个方法可能抛出的异常,将异常处理交给调用者处理。当方法内部抛出受检异常时,可以在方法签名中使用throws关键字声明异常。
public void readFile() throws IOException {
// 读取文件的代码
}
3、finally块:可选的finally块用于执行清理工作,不论是否发生异常都会执行。通常用于释放资源,如关闭文件、数据库连接等。
try {
// 可能产生异常的代码
} catch (ExceptionType e) {
// 处理异常的代码
} finally {
// 清理工作
}
4、示例:
import java.io.IOException;
public class ExceptionHandlingExample {
public void readFile() throws IOException {
// 模拟抛出IOException
throw new IOException("File not found");
}
public static void main(String[] args) {
ExceptionHandlingExample example = new ExceptionHandlingExample();
try {
example.readFile();
} catch (IOException e) {
System.out.println("IOException caught: " + e.getMessage());
}
}
}
在这个示例中,readFile方法声明了可能抛出IOException异常,而main方法中使用try-catch块捕获了这个异常并进行处理。
三、建议
在和第三方对接的时候,建议使用try,catch进行捕获,然后使用日志log打印错误和正常返回结果,这样后期排查问题的时候就很方便!