Handle nonzero exit status explicitly, rather than removing -e globally