you should do all "close" work in `finally`, not in `catch`