Difference between revisions of "Cpp Coding Standards/ERR"

From Apache OpenOffice Wiki
Jump to: navigation, search
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

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


Explanations


Personal tools