2013-10-09 3 views
2

나는 리눅스/우분투에서 일하고있다. 난 내가 오류 출력으로 unreported exception java.io.IOException; must be caught or declared to be thrown pb.start();을 얻을 자바 코드로 자바 프로그램 실행

ProcessBuilder pb = new ProcessBuilder("/usr/lib/flume-ng/bin/flume-ng", 
             "agent", 
             "-f", 
             "/home/c4/Flume/New/ClientAgent.config", 
             "-n", 
             "clientAgent"); 
    pb.start(); 

그러나

아래처럼 보이는 내 자바 코드를 통해 프로세스를 실행하려는. 어떻게하면 내 프로세스를 실행할 수 있는지 말해줘. 감사.

+1

이 튜토리얼을 읽어 보시기 바랍니다 : 시작 방법은 IOException를 슬로우 때문에 http://docs.oracle.com/javase/tutorial/essential/exceptions/handling.html –

+0

, 당신은 시도의 catch 블록을 넣어하거나 필요 또는 IOException를 추가해 문제를 제거합니다. –

답변

4

start() 방법은 일 수 있으며,은 예외를 throw하고, you have to deal with it을 던집니다.이하고 그렇지 않으면 로그 또는

  1. 캐치 그것을 처리, 또는
  2. 당신의 방법으로 가능성이 예외를 던지는 선언하고 위로하는 방법 높은 스택 (이 두 가지 옵션을 사용)을 처리하도록 : 당신도

Exception 개체가 입니다 컴파일러가 그것과 관련되어 의미을 확인, 당신은 너무 (인 고통을 아무리) 할 필요가있다. 다른 예외는 이며 확인되지 않은입니다. 따라서 걱정할 필요가 없습니다. 컴파일러는 걱정할 필요가 없습니다 (예 : OutOfMemoryError - 약간의 복잡한 구문이므로 여기에 몇 가지 예외 용어를 혼합하고 있음을 알고 계십시오).

2

때문에, IOException는 당신이 필요로하는 예외를 체크하는 중 catch 그것을

try { 
    pb.start(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

또는 그렇게 선언 둘러싸는 방법으로 throw을.

public void yourMethod() throws IOException {