Java中的Processbuilder没有引发子进程异常
我正在尝试使用ProcessBuilder在Java中执行一个jar文件。现在,每当ProcessBuilder调用的子进程抛出任何异常时,ProcessBuilder都不会捕获异常,并且执行会继续进行 下面是我的代码:Java中的Processbuilder没有引发子进程异常,java,exception-handling,processbuilder,Java,Exception Handling,Processbuilder,我正在尝试使用ProcessBuilder在Java中执行一个jar文件。现在,每当ProcessBuilder调用的子进程抛出任何异常时,ProcessBuilder都不会捕获异常,并且执行会继续进行 下面是我的代码: try { ProcessBuilder pb = new ProcessBuilder("java", "-jar", CommonConstants.jarFileLocation, fileEntry.getAbsolutePath(),
try {
ProcessBuilder pb = new ProcessBuilder("java", "-jar", CommonConstants.jarFileLocation,
fileEntry.getAbsolutePath(), CommonConstants.commonFileLocation);
Process p = pb.start();
}
catch (Exception e) {
e.printStackTrace();
}
假设catch块在子进程抛出任何异常时打印任何异常。然而,它从来没有这样做过。
我遗漏了什么吗?在控制台中打印时完成了 我使用了ProcessBuilder inheritIO方法,该方法将子进程标准I/O的源和目标设置为与当前Java进程的源和目标相同 因此,修改后的代码
try {
ProcessBuilder pb = new ProcessBuilder("java", "-jar", CommonConstants.jarFileLocation,
fileEntry.getAbsolutePath(), CommonConstants.commonFileLocation).redirectError(Redirect.INHERIT);
Process p = pb.start();
}
catch (Exception e) {
e.printStackTrace();
}
但是,它需要被捕捉块捕捉。
需要帮助