2011-02-14 70 views
1

我使用Apache的commons exec库在Windows上从我的java代码运行另一个应用程序。该另一个应用程序(tshark)可能会抛出一个丑陋的异常,使窗口弹出“未处理的win32异常发生在...”窗口。 有没有办法在我的java代码中吞下那个异常,所以用户不会遇到那个窗口?apache.commons.exec - 执行进程抛出的吞吞异常?

回答

0

有没有办法在我的java代码中吞下异常,所以用户不会遇到那个窗口?

好吧,不容易。

如果 tshark的/ Wireshark的写东西标准错误当你想摆脱持久性有机污染物组成,这些窗口,那么你可能能够destroy()方法这个过程中你只是催生当你发现任何匹配的字符串在stderr(这将完全摆脱tshark/wireshark,而不仅仅是不需要的窗口)。如同自动关闭错误窗口一样,但这需要更多的工作(例如使用JNA来查找窗口标题并关闭你想摆脱的tshark/wireshark异常窗口)。