我在Linux / Ubuntu工作。我想通过我的java代码运行一个进程,如下所示
ProcessBuilder pb = new ProcessBuilder("/usr/lib/flume-ng/bin/flume-ng",
"agent",
"-f",
"/home/c4/Flume/New/ClientAgent.config",
"-n",
"clientAgent");
pb.start();
但我得到unreported exception java.io.IOException; must be caught or declared to be thrown pb.start();
作为错误输出。请告诉我如何运行我的流程。感谢。
答案 0 :(得分:4)
它告诉你start()
方法可以抛出异常,you have to deal with it。你可以:
Exception
对象被检查,这意味着编译器关注它,你需要也是如此(无论多么痛苦)。其他例外是未选中,这意味着您不必担心。编译器也不会担心(例如OutOfMemoryError
- 请注意我在这里混合了一些异常术语,因为它有点复杂)。
答案 1 :(得分:2)
由于IOException
是已检查例外,您需要catch
try {
pb.start();
} catch (IOException e) {
e.printStackTrace();
}
或throw
声明了封闭方法。
public void yourMethod() throws IOException {