Difference between revisions of "Cpp Coding Standards/ERR"
From Apache OpenOffice Wiki
m |
m (Cpp Coding Standards/Topics/ERR moved to Cpp Coding Standards/Error Handling: Improve Cpp_Coding_Standards structure.) |
(No difference)
|
Revision as of 12:53, 28 November 2006
Contents
Eror Handling
How to distinguish and handle assertions, errors and exceptions.
Summary
AssertAssumptions
Assert liberally to document internal assumptions and invariants. Don't use assertions for runtime errors. Ensure that assertions don't perform side effects.
Guarantee
For each function, give the strongest error-safety guarantee that won't penalize callers who don't need it. Always give at least the basic guarantee.
NeverFails
Destructors, delete operators and swap functions must never fail. Occurring exceptions have to be catched and handled within the same function.
Throwing
Throw exceptions by value, catch them by reference.
AvoidExceptionSpecs
Don't write exception specifications on your functions.
Exception: You cannot avoid them when overriding a virtual function that already has one.
Related Rules