gpt4 book ai didi

java - 如何让System.err写在一个 block 中

转载 作者:行者123 更新时间:2023-12-01 07:14:47 24 4
gpt4 key购买 nike

我想解决以下问题:假设您在 System.out 中进行大量输出,并且时不时会抛出异常。当您查看控制台时,您可以看到异常的跟踪文本与 System.out 完成的正常输出混合在一起。我知道这两个是不同的流(System.out 和 System.err),我猜异常的输出是由其他线程在内部完成的,这就是它混合在一起的原因。

但是,代码是否有可能在异常输出完成之前停止?我能想到的唯一解决方案是放置 Thread.sleep,但也许可能有一些我不知道的选项。

真的只是好奇:)这对于调试来说会很好(这就是我问的原因,因为读取混合在中间的输出和异常是可怕的)

最佳答案

如果您有多个线程并且它们的输出交错,您应该考虑使用日志记录工具,而不是尝试共享 stderr 和 stdout -

http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html

或者apache的log4j:

http://logging.apache.org/log4j/1.2/

关于java - 如何让System.err写在一个 block 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525528/

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