apache.commons.exec - проглотить исключение, выданное выполненным процессом?
Я использую библиотеку Apache commons exec для запуска другого приложения из моего кода Java на Windows. Это другое приложение ( tshark) может выдавать ужасное исключение, которое заставляет окна всплывать "необработанное исключение win32, возникшее в...". Есть ли способ проглотить это исключение в моем Java-коде, чтобы пользователь не встретил это окно?
1 ответ
Есть ли способ проглотить это исключение в моем Java-коде, чтобы пользователь не встретил это окно?
Ну не легко.
Если tshark/wireshark пишет что-то в stderr, когда всплывает окно, от которого вы хотите избавиться, то вы можете уничтожить () процесс, который вы только что породили, когда обнаружите любую подходящую строку в stderr (которая избавит от tshark / Wireshark целиком, а не только из нежелательного окна).
Все остальное выполнимо, например, автоматическое закрытие окна ошибок, но для этого потребуется гораздо больше работы (как, например, использование JNA для поиска заголовка окна и закрытие окна исключений tshark/wireshark, от которого вы хотите избавиться).