Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用getRuntime().exec()执行脚本时执行错误处理的最佳方法_Java_Python_Error Handling - Fatal编程技术网

Java 使用getRuntime().exec()执行脚本时执行错误处理的最佳方法

Java 使用getRuntime().exec()执行脚本时执行错误处理的最佳方法,java,python,error-handling,Java,Python,Error Handling,我有一段代码,我使用getRuntime().exec()执行脚本,如下所示: Process pr = Runtime.getRuntime().exec(cmd); BufferedReader bfr = new BufferedReader(new InputStreamReader(pr.getInputStream())); String line = ""; while((line =

我有一段代码,我使用
getRuntime().exec()
执行脚本,如下所示:

            Process pr = Runtime.getRuntime().exec(cmd);

            BufferedReader bfr = new BufferedReader(new InputStreamReader(pr.getInputStream()));
            String line = "";
            while((line = bfr.readLine()) != null) {

             // WHAT TO DO HERE?

            }

大多数情况下,脚本将执行执行某些操作的命令,而不返回任何行,就像将文件从一个位置复制到另一个位置或这一行上的某个位置一样。我想知道在这种情况下如何有效地进行错误处理?我的意思是,如果脚本返回的内容与上述代码中的内容不同,那么这些内容将显示为while循环中的输出,但在这种情况下,不会返回任何内容来显示。那么,如何在这里获得错误处理呢?

我认为这是jave代码,而不是Python。你放错标签了。 这里有一些提示给你。希望能有帮助

...
// define your cmd here
Process p = Runtime.getRuntime().exec(cmd);
final InputStream is = p.getInputStream();
Thread t = new Thread(new Runnable() {
  public void run() {
    InputStreamReader isr = new InputStreamReader(is);
    int ch;
    try {
      while ((ch = isr.read()) != -1) {
        System.out.print((char) ch);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
});
t.start();
p.waitFor();
t.join();
...