循环中 Java 缓冲流读写抛出异常后,是继续还是就放弃?

发布于 2022-09-05 23:37:16 字数 471 浏览 31 评论 0

譬如 是

try{
 for((line = bufferedReader.readline())!=null){
  try{
    bufferedWriter.write(line);
    bufferedwriter.newLine();
  } catch(IOException e){
    ...
 }
}catch(IOException e){
    ...

}

还是

try{
 for((line = bufferedReader.readline())!=null){
    bufferedWriter.write(line);
    bufferedwriter.newLine();
  }
 } catch(IOException e){
 ...
}

也就是说 IO 出错后,会一直出错吗? 如果只是一次性的,前者 OK 否则就要后者

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

客…行舟 2022-09-12 23:37:16

通常是后者,因为IOException通常意味着reader或writer不可用了。建议你做个判断,到底是reader出了问题还是writer除了问题。

另外,建议用Java 1.7的做法,把reader和writer也try起来。

冧九 2022-09-12 23:37:16

你可以在异常发生后启动异步操作去重试,同时JDK1.7可以使用 try-resources-catch方式,自动关闭流

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文