我有一个在文件夹lib中使用外部库的javafx应用程序。如果库不存在,将导致javafx启动程序错误:运行应用程序和程序时异常关闭。我希望在程序关闭之前自己发消息库。如何在程序结束前发出该消息?
答案 0 :(得分:0)
消息"运行应用程序时出错"由于各种原因可以显示,据我所知,没有一种独特的方式来处理它。它取决于上下文,以及抛出的实际Exception
。有关详细信息,请查看堆栈跟踪,您应该能够识别导致问题的Exception
。
如果您使用System.loadLibrary
加载库,则捕获的异常可能是UnsatisfiedLinkError
。
答案 1 :(得分:0)
如果你正在使用javafx 8或更高版本,你可以注册自己的UncaughtExceptionHandler
来处理你的应用程序的任何意外行为并注册它(如果可能的话,在日志或UI上)。
示例:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread thread, Throwable throwable) {
LOGGER.error("Unhandled exception was caught in thread: '{}' with message: '{}'",
thread.getName(), throwable.getMessage(), throwable);
}
}
尽可能靠近开始或申请。