Morgan Stanley | Columbia University | Texas A&M University

home | C++ | FAQ | technical FAQ | C++11 FAQ | publications | TC++PL | Tour++ | Programming | D&E | bio | interviews | applications | glossary | compilers

Appendix E: Standard-Library Exception Safety

Among many other things, the initial printings of The C++ Programming Language (3rd Edition) described the standard library and how to use it with exceptions. However, it did not discuss how to deal with exceptions in the context of the standard library. When I initially wrote my 3rd edition, not all details of this were settled. I also didn't like to flirt with the 1,000 page count.

However, I (Bjarne Stroustrup) have had many requests for more information about the standard library. Consequently, I have written a longish (34 page) tutorial description of what the standard library guarantees about exception safety, how it delivers those guarantees, and what the user needs to do to benefit. This description has the form of an appendix to my 3rd edition and is intended to be sufficiently complete to guide programmers to do nontrivial work using exceptions and the standard library. It is now "Appendix E" of The C++ Programming Language (special Edition) and recent printings of "The C++ Programming Language (3rd Edition)". For readers of early printings of my 3rd edition, I post it to the web: Appendix E: Standard-Library Exception Safety.

Thanks to people who have sent me comments that helped improve the presentation, including: Dave Abrahams, Matt Austern, Walter Brown, Mogens Hansen, John D. Hickin, Andrew Koenig, George Reilly, and Paul Whitehead.

Please note that this appendix is provided as a help to people who have read a fair bit of the rest of my book. It is not aimed at novices.

- Bjarne

Morgan Stanley | Columbia University | Texas A&M University

home | C++ | FAQ | technical FAQ | C++11 FAQ | publications | TC++PL | Tour++ | Programming | D&E | bio | interviews | applications | glossary | compilers