It would probably help to have a single handler that looks up OSError using errno, logs, and takes other action as needed.
Re-raising with -1 was behavior intended for a manager superclass to handle, but we don't have that anymore, so we should probably stop obscuring the actual code.