gpt4 book ai didi

java - 当从 Start 方法调用 System.Exit 时,JavaFX8 中出现奇怪的异常

转载 作者:行者123 更新时间:2023-12-01 12:57:26 25 4
gpt4 key购买 nike

如果我有一个使用此启动方法的 JavaFX 应用程序,我会收到一条错误消息,指出流找不到要写入的文件,或者该文件不存在,这很奇怪,因为 PrintStream 类的构造函数表示它将创建该文件。但是,当删除 System.exit 语句时,它可以正常工作。发生了什么事?

`@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: Resources\Error Logs\86138494710083.dat (系统找不到指定的路径)

最佳答案

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

我不知道您的特定 FileNotFoundException 异常与什么相关。但是,我认为最好彻底关闭 JavaFX 平台,以便 Application lifecycle完成了。我认为,如果您不完全关闭平台,您可能会出现不可预测的行为。

关于java - 当从 Start 方法调用 System.Exit 时,JavaFX8 中出现奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23766974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com