apache.commons.exec - 执行进程抛出的吞吐异常?

时间:2011-02-14 10:00:38

标签: java apache-commons apache-commons-exec

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

1 个答案:

答案 0 :(得分:0)

  

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

好吧,不容易。

如果 tshark / wireshark在 stderr 中写了一些东西,当你想摆脱弹出窗口时,那么你就可以 destroy()< / em>当您在 stderr 上检测到任何匹配的字符串时,您刚刚生成的进程(这将完全摆脱tshark / wireshark,而不仅仅是不需要的窗口)。

其他任何东西都是可行的,比如自动关闭错误窗口,但这需要更多工作(比如使用JNA查找Windows标题并关闭你想要摆脱的tshark / wireshark异常窗口)。