JavaFX8系统异常.退出是从开始方法调用的



如果我有一个带有这个start方法的JavaFX应用程序,我会得到一个错误,说流找不到要写的文件,或者它不存在,这很奇怪,因为PrintStream类的构造函数说它将创建该文件。但是,当系统。退出语句被删除,工作正常。发生了什么?

`@Override
public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
    System.setOut(new PrintStream(Paths.get("Resources",
            System.nanoTime() + ".dat").toFile()));
    System.out.println("Hello World!");
    System.exit(0);
}`

例外: Caused by: java.io.FileNotFoundException: ResourcesError Logs86138494710083.dat (The system cannot find the path specified)

要退出JavaFX应用程序,您应该调用Platform.exit(),而不是System.exit()

我不知道你具体的FileNotFoundException例外属于什么。然而,我认为最好干脆关闭JavaFX平台,这样应用程序的生命周期就完成了。我认为,如果你不干净利落地关闭平台,你可以期待不可预测的行为。

相关内容

  • 没有找到相关文章

最新更新