Objective
The objective of this page is to establish architectural best practices for TopCoder component exception management, to be reflected in future components and to be factored into existing components.
Status
Working Draft
Requirements
Exception handling must be standard across components. This document must establish a standard on when and how exceptions should be caught, and how and when to re-throw exceptions as necessary.
Exception messages, details, and technology must be defined.
Requirements Discussion
Recommendations
- [Exception Message Bundles]: Exception messages should be easily modified for localizing messages and possibly providing application specific messages where a component is used.
- [Fail-Fast]: While exceptions should provide a component with the ability to "fail fast," the information given from an exception should be as comprehensive as possible.
- [Base Exception]: Where possible, all components should take advantage of Base Exception. Some framework issues could prevent this. (For example, providing a method that has to throw an IOException.)
Open Issues
Definitions