Ошибка в try-catch-finally

У меня проблемы, завершаю попытку поймать наконец, у меня все нормально доходит до ловли. Мои ошибки в коде говорят «синтаксическая ошибка в «улове» для ожидаемого», и я выполнил поиск в Google и не нашел ничего, что сработало. Я прикрепил свой код, это просто ошибка размещения или я не выдаю правильный тип ошибки? заранее спасибо.

    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();
        }
    }
}

person john    schedule 29.01.2013    source источник


Ответы (2)


Улов приходит перед блоком finally

person Rahul    schedule 29.01.2013

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

person Dave Newton    schedule 29.01.2013
comment
Вот почему они называют это блоком finally. - person Hot Licks; 30.01.2013