2013-01-29 5 views
1

У меня возникли проблемы, завершая попытку поймать, наконец, я обойду все до тех пор, пока не поймает. Мои ошибки кода на обоих говорят «синтаксическая ошибка на« catch », для ожидаемого», и я сделал поиск в Google и не нашел что-то, что сработало. Я прикрепил свой код, это просто ошибка размещения, или я не выбрасываю правильный тип ошибки? заранее спасибо.Ошибка в 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

Улов идет до окончательного блока

+0

Yep thanks Rahul! – john

3

Ваш catch блок должен быть перед темfinally блок.

+1

Именно поэтому они называют его «окончательным» блоком. –

 Смежные вопросы

  • Нет связанных вопросов^_^