马士兵java架构师

您现在的位置是:java学习笔记 >

java学习笔记

Java中需要try-catch的异常类型有哪些?

2023-11-10 19:02:16java学习笔记 本文浏览次数:1 百度已收录

本 文 目 录

在Java中,异常被分为两大类:检查型异常(也称为编译时异常)和非检查型异常(运行时异常)。检查型异常是那些在编译时期就会被检测到的异常,这类异常必须要进行处理,否则程序无法通过编译。处理检查型异常通常使用try-catch语句块。

一、常见的需要try-catch的异常

  1. IOException(输入输出异常)

这是在进行输入输出操作,如文件读写、网络数据传输等时可能出现的异常。Java要求我们在进行这些操作时,必须使用try-catch对可能出现IOException的地方进行处理。

例子:

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Test {
    public static void main(String[] args) {
        File file = new File("test.txt");
        try {
            FileReader fr = new FileReader(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. ClassNotFoundException(类无法找到异常)

当应用试图通过字符串名加载某个类,并且在类路径中找不到所需的类时,就会抛出这个异常。这也是一个检查型异常,需要使用try-catch进行处理。

例子:

try {
    Class.forName("com.example.NonexistentClass");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}
  1. SQLException(SQL异常)

在进行数据库操作时,如JDBC操作,可能会出现的异常。这也是一个检查型异常,需要在可能出现异常的地方进行try-catch处理。

例子:

import java.sql.*;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost/testDB", "testUser", "testPass");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) { /* ignored */}
            }
        }
    }
}

以上只是需要try-catch处理的部分常见异常,实际上Java中还有很多其他的检查型异常,如InterruptedExceptionURISyntaxException等,都需要使用try-catch进行处理。对于每一种可能出现的检查型异常,我们都应当编写相应的异常处理代码,以保证程序的稳定运行。