有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    对于经常写入std out或err的PrintStream,这些流可能已被关闭或丢弃,但您不希望程序因此意外失败

    PrintWriter在许多方面都是PrintStream的作者版本,尽管我不确定重复PrintStream的错误是个好主意。;)

    PrintWriter不报告IOException这一事实使它成为向套接字写入文本的糟糕选择,在套接字中,您通常需要知道连接已失败

  2. # 2 楼答案

    我认为这主要是因为系统。err是一个打印流

    在catch块中处理异常时,调用e.printStackTrace()是常见的,它会写入系统。犯错误如果该调用引发异常,您将丢失原始异常,并从代码中引发PrintStream错误。然后,您需要在catch块中进行额外的try/catch,以防止出现这个问题,因为它会造成一个大混乱

    请注意,JDK1.7解决了从catch块引发异常的问题,并允许您访问这两个异常