We have a begin rescue at the bin level. I think this is OK. The user will get the error message if something is wrong. Ususaly since the application writes and file then error in read would occur at starting the application (if user changed manually the file format for example). It would not occur at middle of execution