User Tools

Site Tools


c_exceptions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
c_exceptions [2018/02/02 10:09]
rpjday
c_exceptions [2018/02/02 11:02]
rpjday [Error handling possibilities]
Line 17: Line 17:
   * Return a legal value and leave the program in an "error state" (''​errno''​).   * Return a legal value and leave the program in an "error state" (''​errno''​).
   * Call an error-handler routine.   * Call an error-handler routine.
-  ​+ 
 +===== Guarantees ===== 
 + 
 +C++ standard library provides one of the following guarantees for every library operation:​ 
 + 
 +  ​//basic// for all operations: The basic invariants of all objects are maintained, and no resources, such as memory, are leaked. In particular, the basic invariants of every built-in and standard-library type guarantee that you can destroy an object or assign to it after every standard-library operation (§iso.17.6.3.1). 
 +  * //strong// for key operations: in addition to providing the basic guarantee, either the operation succeeds, or it has no effect. This guarantee is provided for key operations, such as ''​push_back()'',​ single-element ''​insert()''​ on a list, and ''​uninitialized_copy()''​. 
 +  * //nothrow// for some operations: in addition to providing the basic guarantee, some operations are guaranteed not to throw an exception. This guarantee is provided for a few simple operations, such as ''​swap()''​ of two containers and ''​pop_back()''​. 
c_exceptions.txt · Last modified: 2018/02/02 11:02 by rpjday