I don't think a low level library like this should swallow exceptions, leave error handling to the user of the library.