java非运行时异常,idea会编译报错

79 阅读1分钟

java非运行时异常,idea会编译报错吗?

是的,Java中的非运行时异常(即检查型异常/Checked Exceptions)如果不处理,IDE(如IntelliJ IDEA)会在编译时报错。

在Java中,异常分为两大类:

  1. 运行时异常(Runtime Exceptions):继承自RuntimeException,编译器不会强制要求处理
  2. 检查型异常(Checked Exceptions):继承自Exception但不是RuntimeException的子类,编译器会强制要求处理

当你的代码可能抛出检查型异常时,你必须:

  • 用try-catch块捕获并处理异常
  • 或者在方法声明中使用throws关键字将异常向上传递

如果两者都不做,IDEA会显示编译错误,提示你必须处理这些异常。常见的检查型异常包括IOException、SQLException、ClassNotFoundException等。

例如,当你使用FileInputStream读取文件时:

// 这段代码会编译报错
FileInputStream fis = new FileInputStream("file.txt");

// 正确处理方式1:使用try-catch
try {
    FileInputStream fis = new FileInputStream("file.txt");
} catch (IOException e) {
    e.printStackTrace();
}

// 正确处理方式2:在方法声明中使用throws
public void readFile() throws IOException {
    FileInputStream fis = new FileInputStream("file.txt");
}

总结

会报错

直接飘红