re-raise exceptions instead of `throw`ing 'em