以下是给出错误的代码 -
try(StringWriter stringWriter = new StringWriter()) {
IDE抱怨来自自动关闭资源的未处理异常:java.io.IOException 是否有必要在构造函数中传递一些内容?
答案 0 :(得分:3)
因为close
方法(在StringWriter
中)声明为:
public void close() throws IOException
您的try-with-resources会自动调用它。
答案 1 :(得分:2)
添加catch块;
try(StringWriter stringWriter = new StringWriter()) {
//Do something
} catch(IOException e){
e.printStackTrace();
}
答案 2 :(得分:2)
正如抱怨的消息提示:你有一个来自自动关闭资源的未处理异常:java.io.IOException 所以你的代码没有完全写入。
你需要一个问题:
try (StringWriter stringWriter = new StringWriter()) {
//Do something
} catch (IOException e) {
//TODO
e.printStackTrace();
}
答案 3 :(得分:0)
在Java中,应通过可能引发异常的函数声明(带有throws子句)或处理(带有catch,finally块)已检查的异常。您的代码也不执行任何操作,这就是为什么会出现编译器错误。
顺便说一句,请参阅this link。