Java异常处理机制及常见场景实例
Java的异常处理机制主要通过try-catch-finally
结构实现。
try
块:包含可能抛出异常的代码。如果在try
块中发生任何异常,Java将停止执行try
块后面的代码,并立即跳转到最近的catch
或finally
块。catch
块(可选):用于捕获并处理特定类型的异常。只有当try
块中的异常被声明为该catch
块的类型时,才会匹配并执行。finally
块(可选):无论是否发生异常,都会执行的代码块。常用来释放资源或清理工作等。
以下是一些常见场景实例:
文件读写操作:
try {
File file = new File("example.txt");
if (!file.exists()) { throw new FileNotFoundException("File not found"); }
// 读取文件
String content = new Scanner(file).useDelimiter("\\A").next();
System.out.println(content);
// 写入文件
file.createNewFile();
writer = new PrintWriter(file);
writer.print("Updated content.");
writer.close();
} catch (FileNotFoundException e) {
System.err.println(e.getMessage());
}
- 网络请求:
```java
import java.net.HttpURLConnection;
import java.net.URL;
try {
URL url = new URL(“https://api.example.com/data“);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法和超时时间
connection.setRequestMethod("GET");
connection.setConnectTimeout(1000); // 1秒
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
// 获取响应内容并处理
if (responseCode == HttpURLConnection.HTTP_OK) {
String content = new String(connection.getInputStream()));
System.out.println(content);
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
```
总之,Java的异常处理机制允许我们优雅地捕获和处理程序运行时可能出现的问题。
还没有评论,来说两句吧...