循环中 Java 缓冲流读写抛出异常后,是继续还是就放弃?
譬如 是
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通常是后者,因为IOException通常意味着reader或writer不可用了。建议你做个判断,到底是reader出了问题还是writer除了问题。
另外,建议用Java 1.7的做法,把reader和writer也try起来。
你可以在异常发生后启动异步操作去重试,同时JDK1.7可以使用 try-resources-catch方式,自动关闭流