Using Exceptions instead of exit() so that PETSc / openmpi-mpirun dies more gracefully