flo*_*foo 0 java exception try-catch
我想获取一个 HTML 页面并使用 BufferedReader 读取。所以我使用 try-with-resources 打开它以这种方式处理IOException :
try(BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()))) {
} catch(IOException e) {
throw e;
}
Run Code Online (Sandbox Code Playgroud)
这是一个很好的捕捉并立即抛出的模式吗?如果我完全省略 try 并声明该函数抛出 IOException 会怎样?那么是否有任何潜在的内存泄漏?非常感谢任何建议!
try - with-resources语句中catch不需要块。您可以编写以下内容,这与您的原始代码完全相同:
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(url.openStream()))) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
catch因此,如果您所做的只是立即再次抛出相同的异常,则可以忽略该块。
但是,您确实需要该try块,以便BufferedReader在块末尾自动关闭流和底层流。
这是一个很好的捕捉并立即抛出的模式吗?
不,捕获并立即重新抛出相同的异常不会添加任何有用的内容。
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |