为什么 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
例如:
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