在Java中,当你使用Runtime.exec()
或ProcessBuilder
执行外部命令时,可能会遇到异常。为了捕获这些异常,你可以使用try-catch
语句。以下是一个示例:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { try { // 使用Runtime.exec()执行外部命令 Process process = Runtime.getRuntime().exec("your_command_here"); // 获取命令执行的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 int exitCode = process.waitFor(); System.out.println("Command executed with exit code: " + exitCode); } catch (IOException e) { // 捕获执行外部命令时发生的异常 System.err.println("Error executing command: " + e.getMessage()); e.printStackTrace(); } catch (InterruptedException e) { // 捕获等待命令执行完成时发生的异常 System.err.println("Command execution was interrupted: " + e.getMessage()); e.printStackTrace(); } } }
在这个示例中,我们使用try-catch
语句捕获了两种可能的异常:
IOException
:当执行外部命令时可能会发生此异常。例如,如果指定的命令不存在或无法执行。InterruptedException
:当等待命令执行完成时可能会发生此异常。例如,如果当前线程在等待命令执行时被中断。
请注意,你需要将your_command_here
替换为你要执行的实际命令。