ErrorHandling » History » Version 5

« Previous - Version 5/10 (diff) - Next » - Current version
J. Moringen, 06/21/2011 09:59 PM
fixed typo


Error Handling

This page is only concerned with runtime errors. Program errors are not considered here.

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

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

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

Error Handling Policies

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