2016-08-18 3 views
1

Apache PDFBox를 사용하여 일부 PDF 파일을 읽습니다. 필자는 PDF 문서를 완성 할 때 PDF 문서를 배포해야합니다. 이렇게하려면 예외를 throw하는 close() 메서드를 호출합니다. 이 프로그램은 또한 예외를 throw 할 수있는 경우에는 PDF를 편집 할 수 있지만 오류가 있어서는 안되는 프로그램을 닫습니다. 이 경우에는 예외를 catch하고 catch 블록을 비워 두거나 더 좋은 방법으로 처리 할 수 ​​있습니까? 예를 들어파일 닫기에 의해 throw 된 예외를 처리하는 방법?

:

try { 
    pdf.close(); 
catch { 
    //empty 
} 
+0

예제 코드를 추가하면 이런 질문에 필요하다는 것을 알지 못했습니다. – kabeersvohra

답변

2

그것은 스트림 가까운 예외가 발생 될 때 단지 무시하도록 허용되는인가?

대부분의 경우 그렇지만 실제 상황에 따라 다릅니다. 닫기 예외를 처리하지 않기로 결정하고 추가 try-catch 블록을 피하려는 경우 commons-io 라이브러리의 IOUtils을 사용할 수 있습니다.

finally { 
    IOUtils.closeQuietly(pdf); 
} 

이 다음

finally { 
    try { 
     if (closeable != null) { 
      closeable.close(); 
     } 
    } catch (IOException ioe) { 
     // ignore 
    } 
} 
+1

IOUtils.closeQuietly 또한 PDFBox의 일부입니다 .-) –

0
try { 
     //code to catch 
    } catch (IOException ex) {//specific catch 
     ex.printStackTrace(); 

    } catch (Exception e) {//Catch errors lazily, This will catch any exception within the try that is rooted from the Exception class. 
     e.printStackTrace(); 
    } 

이 작업을 수행하는 더 적절한 방법이 있습니다에 해당하지만, 이것은 쉬운 방법입니다. 당신은 정말로 하나의 catch 절만 필요합니다. 다중 catch를 가질 수 있습니다. Google은 "try/catch/finally in java"를 사용하는 방법을 배우고 몇 가지 좋은 것을 생각해 내야합니다.

행운을 빈다.

관련 문제