Propagate Throwables to return proper exit code

An outer catch block handles these and calls System.exit(1).
Merge pull request #31 from andrewgaul/system-exit-1.5.x

Propagate Throwables to return proper exit code