2013-01-29 6 views
1

마지막으로 try catch를 완료하는 데 문제가 있습니다. 내 코드 오류 둘 다 "구문 오류"잡기 "에 대한 예상"에 대한 오류와 나는 구글 검색을 수행하고 일한 것을 발견하지 못했습니다. 내 코드를 첨부했습니다. 단순히 배치 오류입니까, 아니면 올바른 유형의 오류가 발생하지 않았습니까? 미리 감사드립니다.try-catch-finally에서 오류가 발생했습니다.

public void setOrder(String field, String value) { 
    File dir = new File(finished); 
    if (!dir.exists()) 
    { 
     try{ 
      doc = PDDocument.load(file); 
      PDDocumentCatalog docCatalog = doc.getDocumentCatalog(); 
      PDAcroForm acroForm = docCatalog.getAcroForm(); 
      PDField acrofield = acroForm.getField(field); 
      if(value == null){ 
       acrofield.setValue(""); 
      } 
      else{ 
       acrofield.setValue(value); 
      } 
      doc.save(finished); 
     } 
     finally{ 
      if(doc != null){ 
       doc.close(); 
      } 
     } 
     catch(Exception eer){ 
      eer.printStackTrace(); 
     } 
    } 
    else{ 
     try{ 
      doc = PDDocument.load(finished); 
      PDDocumentCatalog docCatalog = doc.getDocumentCatalog(); 
      PDAcroForm acroForm = docCatalog.getAcroForm(); 
      PDField acrofield = acroForm.getField(field); 
      if(value == null){ 
       acrofield.setValue(""); 
      } 
      else{ 
       acrofield.setValue(value); 
      } 
      doc.save(finished); 
     } 
     finally{ 
      if(doc != null){ 
       doc.close(); 
      } 
     } 
     catch(Exception eer){ 
      eer.printStackTrace(); 
     } 
    } 
} 

답변

4

catch가 finally 블록 앞에옵니다.

+0

네, 감사합니다. Rahul! – john

3

귀하의 catch 블록은 전에 finally 블록 할 필요가있다.

+1

그래서 "finally"블록이라고합니다. –