SPA Conference session: Effective Error Handling

One-line description:Learning how to architect and design software that handles problem situations effectively.
 
Session format: Workshop (75 mins) [read about the different session types]
 
Abstract:Good code, robust code, is much more than just implementing the basic headline functionality. It requires also a great deal of handling of exceptional cases: What to do when the inputs aren't as excepted, when the user entries turn out not to make sense or when part of the system fails.

A large proportion of all written code deals with errors. So this session will look at error handling, and use participants' experience to answer some questions:

* How to form requirements that specify the expected error handling behavior?
* What are the available mechanisms (list from last years session) or patterns, and which suits which kinds of environment?
* How does error handling influence design?
* How do we handle errors across module or system boundaries?
* What are the mistakes to avoid in asking for and implementing error handling?
* How should we test error handling and when?
* Where can we learn more about the topic?
 
Audience background:Anyone who writes, designs, or architects code. Knowledge of of the full software lifecycle, gathering requirements, implementing error handling or stress/failure testing will be helpful.
 
Benefits of participating:The session will provide an opportunity to focus on this important and neglected area. Participants will learn either by putting their experience into words or from the experience of others.
 
Materials provided:An opening presentation.
Output from SPA2006 Error Handling Goldfish bowl.
Patterns for Generation, Handling and Management of Errors http://www.blueskyline.com/ErrorPatterns/A2-LongshawWoods6.pdf
 
Process:An initial presentation will be followed by a brainstorm session where the main topics will be discussed and documented. Following the brainstorm breakout groups will elaborate the topics discussed and report back the information gathered and the conclusions reached.
 
Detailed timetable:
 
Outputs:Flipchart sheets providing a summary of major points made, pointers to literature, and next steps on wiki.
 
History:Charles led a BOF on the subject at SPA2005. It was popular, and there was a lot of discussion at the session, particularly from ‘experts’. This session attempts to build on that.
 
Presenters
1. Tony Barrett-Powell
Oracle
2. Charles A F A Weir
Penrillian
3.