Shouldn't you raise the original exception here if `retry_on_except == false`? You don't seem to actually catch it or do anything with it in user code, so this seems to be the right place to throw it.