почему? я обернула весь свой код в try catch  - при вылете исключения файл закрывается, а в этой он закрывается, если исключения не было