gpt4 book ai didi

java - java中的错误处理

转载 作者:行者123 更新时间:2023-12-01 14:08:35 24 4
gpt4 key购买 nike

正在使用 ProcessBulider 从 java 代码运行 .exe 文件,我编写的代码如下。 .exe 文件将 Input.txt(放置在同一目录中)作为输入,并在同一目录中提供 3 个输出文件。

public void ExeternalFileProcessing() throws IOException, InterruptedException {

String executableFileName = "I:/Rod/test.exe;

ProcessBuilder processBuilderObject=new ProcessBuilder(executableFileName,"Input.txt");

File absoluteDirectory = new File("I:/Rod");

processBuilderObject.directory(absoluteDirectory);

Process process = processBuilderObject.start();

process.waitFor();
}

通过调用ExeternalFileProcessing(),此过程工作正常。现在正在进行验证过程,如果有任何 crash/.exe 文件未运行,我应该收到错误消息,如何获得错误消息?

注意:错误消息最好简单一些,例如运行成功/未运行成功或简单地true/false,这样我就可以将其置于 If 条件中以继续剩余的过程。

最佳答案

您可以添加异常处理程序来获取错误消息。

public void externalFileProcessing() {

String executableFileName = "I:/Rod/test.exe";

ProcessBuilder processBuilderObject = new ProcessBuilder(
executableFileName, "Input.txt");

File absoluteDirectory = new File("I:/Rod");

processBuilderObject.directory(absoluteDirectory);


try {
Process process = processBuilderObject.start();
process.waitFor();
// this code will be executed if the process works
System.out.println("works");
} catch (IOException e) {
// this code will be executed if a IOException happens "e.getMessage()" will have an error
e.printStackTrace();
} catch (InterruptedException e) {
// this code will be executed if the thread is interrupted
e.printStackTrace();
}
}

但是最好在调用函数中处理它,方法是在调用函数中放置一个 try catch 处理程序并在那里处理它。

关于java - java中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18713223/

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