对于桌面应用程序,当程序崩溃时,在 GUI 上查看堆栈跟踪很有用。我通过用我自己的错误处理程序替换 System.err 在 Java 中实现了这一点,它将所有错误消息重定向到一个 GUI 组件和一个文本文件。
问题:相当多的库(例如 Apache POI)在发生崩溃时不仅会写入 System.err,它们还会输出简单的警告消息。这会导致崩溃窗口不必要地弹出。所以我的问题是,是否有人知道如何(1)在程序崩溃时显示堆栈跟踪,而(2)在出现警告消息时不显示它?
[编辑] 我的 GUI 是用 SWT 编写的。