gpt4 book ai didi

java - PrintWriter 和 PrintStream 从不抛出 IOExceptions

转载 作者:IT老高 更新时间:2023-10-28 20:35:23 26 4
gpt4 key购买 nike

几天前我意识到PrintWriter (以及 PrintStream )在写入、刷新或关闭时不要抛出 IOException

当发生错误时,它会设置一个内部标志 (trouble=true)。
不可能得到确切的异常,但只有如果有一些异常 (checkError())。

我的问题是:为什么会有这样的行为?这不是糟糕的 API 设计吗?

最佳答案

我认为由于 System.outSystem.errPrintStream 的实例,因此提供了一些更宽松的错误处理。正如其他海报所提到的,这可能是为了让那些在 1995 年左右从 C/C++ 过渡的人铺平道路。添加 Reader/Writer API 时,创建了 PrintWriter 以并行现有的 打印流.

非常需要这种行为的一个应用程序是日志记录。日志记录是大型应用程序的辅助功能。通常,如果日志记录失败,人们不希望整个应用程序失败。因此,System.err 至少忽略异常是有意义的。

关于java - PrintWriter 和 PrintStream 从不抛出 IOExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com