2011-02-14 22 views
1

我使用Apache的commons exec庫在Windows上從我的java代碼運行另一個應用程序。該另一個應用程序(tshark)可能會拋出一個醜陋的異常,使窗口彈出「未處理的win32異常發生在...」窗口。 有沒有辦法在我的java代碼中吞下那個異常,所以用戶不會遇到那個窗口?apache.commons.exec - 執行進程拋出的吞吞異常?

回答

0

有沒有辦法在我的java代碼中吞下異常,所以用戶不會遇到那個窗口?

好吧,不容易。

如果 tshark的/ Wireshark的寫東西標準錯誤當你想擺脫持久性有機污染物組成,這些窗口,那麼你可能能夠destroy()方法這個過程中你只是催生當你發現任何匹配的字符串在stderr(這將完全擺脫tshark/wireshark,而不僅僅是不需要的窗口)。如同自動關閉錯誤窗口一樣,但這需要更多的工作(例如使用JNA來查找窗口標題並關閉你想擺脫的tshark/wireshark異常窗口)。