Java (FX) Fail-Safe Alert при ошибочном завершении / сбое?

Мне абсолютно необходимо, чтобы моя программа завершалась чисто, то есть тогда и только тогда, когда пользователь делает это вручную. В любом другом случае моя программа должна уведомлять их либо посредством отображения всплывающего окна, либо, что еще лучше, воспроизведения звука (по циклу).

Следовательно: есть ли надежный и безотказный способ предупредить пользователя о том, что что-то пошло не так? Даже если исключение уже возникает в методе JavaFX Application#start? Я экспериментировал с перехватчиками выключения, но общее мнение здесь о SO заключается в том, что они не предназначены для таких тяжелых операций.


person MightyMalcolm    schedule 28.09.2016    source источник


Ответы (1)


Что вы можете сделать, так это окружить части вашей программы операторами try catch. Таким образом, при возникновении ошибки вы можете создать всплывающее окно в операторе catch. Другим решением является исключение throws, которое не позволит вам создать всплывающее окно, уведомляющее пользователя об ошибке.

person Politic Revolutionnaire    schedule 28.09.2016
comment
спасибо за идею, но я уже широко использую try - catches во всех критических частях моего кода. Я даже добавил несколько finallys^^ Однако, особенно в отношении производительности/накладных расходов, я не могу просто сделать что-то вроде public void start (Stage primaryStage) { try { runProgramme(); } catch (Exception e) { displayPopup(e); } }. Существует множество вещей, которые могут произойти вне потока JavaFX и потенциально убить мое приложение. - person MightyMalcolm; 28.09.2016