Why rescue and re-raise as a different error?