Java中的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(),

我正在尝试使用ProcessBuilder在Java中执行一个jar文件。现在,每当ProcessBuilder调用的子进程抛出任何异常时,ProcessBuilder都不会捕获异常,并且执行会继续进行

下面是我的代码:

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();    
    }
但是,它需要被捕捉块捕捉。 需要帮助