Catching java.lang.Exception, java.lang.Error or java.lang.RuntimeException is almost never acceptable.