异常捕获与重试:Java中try-catch-finally的应用案例

原创 Bertha 。 2024-09-05 15:39 22阅读 0赞

在Java中,try-catch-finally语句块用于处理可能出现的异常。下面是一些实际应用案例:

  1. 文件操作:
    ```java
    import java.io.File;
    import java.io.IOException;

public class FileHandling {
public static void main(String[] args) {
try {
// 读取文件
String content = readFile(new File(“example.txt”)));
System.out.println(content);
} catch (IOException e) {
System.err.println(“Error occurred while reading file: “ + e.getMessage());
e.printStackTrace(); // 打印堆栈跟踪信息
}
}

  1. private static String readFile(File file) throws IOException {
  2. if (!file.exists()) {
  3. throw new FileNotFoundException(file.getAbsolutePath() + " does not exist"));
  4. }
  5. try (BufferedReader br = new BufferedReader(new FileReader(file)))) {
  6. return br.readLine();
  7. }
  8. }

}

  1. 这里处理了读取文件时可能遇到的`FileNotFoundException`
  2. 2. 网络请求:
  3. ```java
  4. import java.net.ConnectException;
  5. import java.net.HttpURLConnection;
  6. import java.net.URL;
  7. public class NetworkRequest {
  8. public static void main(String[] args) {
  9. try {
  10. // 发送GET请求
  11. URL url = new URL("http://example.com");
  12. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  13. int responseCode = connection.getResponseCode();
  14. if (responseCode == 200) {
  15. System.out.println(connection.getInputStream().readAllBytes()));
  16. } else {
  17. System.err.println("Error occurred during GET request: " + responseCode);
  18. }
  19. } catch (ConnectException ce, IOException ioe) {
  20. // 处理连接异常和IO异常
  21. System.err.println("Error occurred while making network connection: "
  22. + (ce != null ? ce.getMessage() : "Unknown error")));
  23. if (ioe != null) {
  24. System.err.println("Additional I/O error occurred: " + ioe.getMessage());
  25. }
  26. }
  27. }
  28. }

这里处理了在发送网络请求时可能出现的ConnectExceptionIOException

总结,通过理解和使用try-catch-finally语句块,Java程序员可以更好地应对各种异常情况,并确保程序的稳定性和健壮性。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,22人围观)

还没有评论,来说两句吧...

相关阅读