LaKraven / LKSL

LaKraven Studios Standard Library
http://otapi.com
Other
51 stars 15 forks source link

Error Handling & Recovery #8

Closed LaKraven closed 9 years ago

LaKraven commented 9 years ago

At present, any exception occurring within the Event Processor (the Event Engine's internal processing Thread) as the consequence of an Unthreaded Event Listener will halt that entire Thread, preventing any other Events from being processed.

Some form of CAREFUL Exception Trapping is required.

LaKraven commented 9 years ago

As all Event Listeners are now required to belong to an Event Thread, the original description of this issue no longer applies.

However, the failure of one Event Listener to process an Event will prevent all subsequent Event Listeners from receiving the Event... and can stall an entire Event Thread.

The Event Engine should strive to prevent that situation from occurring, while still raising the Exceptions for the benefit of the developer/user.

LaKraven commented 9 years ago

Upon reflection (and discussion with others), the decision has been made not to attempt to produce some magical "catch all" error handling system.

Since errors should only realistically be able to occur in the OnEvent handlers defined by the implementing developer, the onus is on the implementing developer to protect their own code from causing failures up the chain.