Catch throwable rather than exception so monitoring doesn't die on errors.