remove extraneous io exceptions + improve generic infrastructure for log...

...ging errors

@cos please review
I'd rather not... this is code that is on a deprecated code path and I don't really particularly want to mess with it any more than I have to...