为什么 java 中的某些代码需要 try catch 语句?

Why do some code in java require try catch statements?

例如:

FileWriter saveFile = new FileWriter("text.txt");

此代码显示错误:

Unhandled exception type IOException

这是什么意思?

Java 有 checked exception 机制。

这意味着方法抛出的每个异常(不是 RuntimeException)都必须由方法内部处理或声明为抛出异常(在其声明中)。

在您的示例中,FileWriter 的构造函数抛出 IOException,因此您应该通过 try-catch 块在方法内部处理它,或者使您的方法的签名声明它可能抛出它。

有些例外情况 Java 编译器强制由开发人员处理并且需要正确传播给调用方。 这些异常属于检查异常(编译时异常)的范畴。 使用 try{...}catch{...}throws 关键字,这些类型的异常必须由开发人员处理。

class Exception 和任何不是 RuntimeException 的子class 的子class 都是已检查的异常。访问 java 文档 here