Motivation

There are a number of benefits to using exceptions for handling error conditions, some of which include:

The above advantages are a small representation of advantages obtained using exceptions. However there are also a number of disadvantages often associated with using exception error handling techniques. Some of these include:

Within the C++ language there are also special considerations that make using exceptions more difficult and error prone than in other similar languages like Java. As a result adoption of exception usage within the C++ community is more reserved than in many other languages. Very few C++ projects make much use of exceptions due to the dangerous or time consuming nature of doing so. Some of the dangers of using exceptions for error handling specifically in C++ include:

For additional information on advantages and disadvantages of using exceptions in C++ and also more information on using exceptions, see some of the links below:

http://www.awprofessional.com/content/images/020163371x/supplements/Exception_Handling_Article.html

http://www2.sys-con.com/ITSG/virtualcd/Java/archives/0209/cunderlik/index.html

http://www.octopull.demon.co.uk/c++/dragons/

http://www.parashift.com/c++-faq-lite/exceptions.html

http://nedbatchelder.com/text/exceptions-vs-status.html

http://www.nedbatchelder.com/text/exceptions-in-the-rainforest.html

http://www.boost.org/more/generic_exception_safety.html

http://burks.brighton.ac.uk/burks/language/cpp/cpptut/cplus008.htm

http://www.atnf.csiro.au/computing/software/sol2docs/manuals/c++/prog_guide/Exception_Handling.html

http://www.research.att.com/~bs/3rd_safe.pdf

@@@Brendon TODO: Look for better external links. Possibly remove some of these.