How to handle exceptions, common usages, pitfalls and why exception guarantees are a critical part of designing C++ functions, types and libraries. How to use RAII to make code exception-safe and why you should never let exceptions escape from destructors.