apache.commons.exec - проглотить исключение, выданное выполненным процессом?

Я использую библиотеку Apache commons exec для запуска другого приложения из моего кода Java на Windows. Это другое приложение ( tshark) может выдавать ужасное исключение, которое заставляет окна всплывать "необработанное исключение win32, возникшее в...". Есть ли способ проглотить это исключение в моем Java-коде, чтобы пользователь не встретил это окно?

1 ответ

Решение

Есть ли способ проглотить это исключение в моем Java-коде, чтобы пользователь не встретил это окно?

Ну не легко.

Если tshark/wireshark пишет что-то в stderr, когда всплывает окно, от которого вы хотите избавиться, то вы можете уничтожить () процесс, который вы только что породили, когда обнаружите любую подходящую строку в stderr (которая избавит от tshark / Wireshark целиком, а не только из нежелательного окна).

Все остальное выполнимо, например, автоматическое закрытие окна ошибок, но для этого потребуется гораздо больше работы (как, например, использование JNA для поиска заголовка окна и закрытие окна исключений tshark/wireshark, от которого вы хотите избавиться).

Другие вопросы по тегам