EventEmitter events are supposed to be a one-way communcation channel from the emitter to the handler. This paradigm breaks if the handler throws an exception that propagates back to the emitter and causes execution flow to short circuit. In some cases in VisualEditor right now, that means a UI exception can cause corruption in the data model.
This is best fixed in OOJS, for consistency, even though some code could theoretically break if the emitter somehow depends on the effects of the handler (which is an anti-pattern).