Throwable has two subclasses Error and Exception.  RuntimeException is a subclass of Exception.  Both Error and RuntimeException are unchecked, however Errors indicate that something very seriously wrong has happened and catching it could possibly leave the JVM in an unknown state, Think OutOfMemoryError.  In practice it is not often that bad, but I would rather avoid it unless I have to.

All of the Event manager threads and server threads already catch Throwable and kill the process if it makes it up to that point.

Plus the code is not even reporting the error properly
```clojure
(:report-error-and-die executor-data) 
```
is simply pulling the error reporting function out of the executor data.  It is not executing it in any way.  If this happens :object will be set to the error reporting function, and then really odd behavior will start to happen.