Difference between revisions of "Cpp Coding Standards/ERR"

From Apache OpenOffice Wiki
Jump to: navigation, search
(formatting)
m
 
Line 1: Line 1:
=== Error Handling (ERR) - Summary ===
+
== Error Handling (ERR) ==
 
''How to distinguish and use exceptions, assertions and other error cases.''
 
''How to distinguish and use exceptions, assertions and other error cases.''
  
Line 18: Line 18:
 
===== Avoid Exception Specifications <span id="ExSpec">(ExSpec)</span> =====
 
===== Avoid Exception Specifications <span id="ExSpec">(ExSpec)</span> =====
 
Don't write exception specifications on your functions. [[/ExSpec|-> Details]]
 
Don't write exception specifications on your functions. [[/ExSpec|-> Details]]
 
----
 
Related Rules
 
* [[../PRINC#ErrHdl |PRINC:ErrHdl]] - Consistent Error Handling
 
  
 
----
 
----
 
[[Category:Coding Standards]]
 
[[Category:Coding Standards]]

Latest revision as of 09:05, 23 May 2007

Error Handling (ERR)

How to distinguish and use exceptions, assertions and other error cases.

Assert Assumptions (Assert)

Assert liberally to document internal assumptions and invariants. Don't use assertions for runtime errors.
Ensure that assertions don't perform side effects.
-> Details

Function Safety Guarantees (Safe)

Provide the strongest error-safety guarantee for each function that does not punish callers who do not need it. The basic guarantee is always necessary. -> Details

Which Functions Never Fail (NoFail)

Destructors, delete operators and swap functions must never fail. Occurring exceptions have to be catched and handled within the same function. -> Details

Throwing and Catching Exceptions (HowThrow)

Throw exceptions by value, catch them by reference. -> Details

Avoid Exception Specifications (ExSpec)

Don't write exception specifications on your functions. -> Details


Personal tools