what's the difference between StandardError and Exception here?