ErrorHandling » History » Version 4

Version 3 (J. Moringen, 06/19/2011 04:57 AM) → Version 4/10 (J. Moringen, 06/21/2011 09:58 PM)

h1. Error Handling

_This page is only concerned with runtime errors. Programs errors are not considered here._

h2. Sources of Runtime Errors

* Client-supplied event handlers
* Connectors
** When receiving notifications
** When decoding notifications
** When sending notifications
* Converters
** When converting domain-object -> wire-data
** When converting wire-data -> domain-object

h2. Error Handling Locations

* In Connectors (via client-supplied policy)
** Can handle Connector errors
** Can handle Converter errors
* In Processors (via client-supplied policy)
** Can handle errors in client-supplied event handlers
* In callbacks to client code
** Can handle Connector errors
** Can handle Converter errors
** Can handle errors in client-supplied event handlers

h2. Error Transport Mechanisms

* Stack unwinding
** Only applicable for pull-path
** Can transport Connector errors
** Can transport Converter errors
* Callback invocation from local error handling policy
** Can handle Connector errors
** Can handle Converter errors
** Can handle errors in client-supplied event handlers

h2. Error Handling Policies

* Ignore the error and continue
* Log the error and continue
* Terminate the whole process (i.e. @exit(1)@)