From 54df10774c6e75f1f790c623600f1115cf7f0ebd Mon Sep 17 00:00:00 2001
From: Dave Abrahams
Date: Tue, 25 Mar 2003 17:27:32 +0000
Subject: [PATCH] Incorporate changes from Gennaro Prota
[SVN r18081]
---
error_handling.html | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/error_handling.html b/error_handling.html
index 85347cc..86dd97a 100644
--- a/error_handling.html
+++ b/error_handling.html
@@ -23,7 +23,7 @@
in Generic Components'', originally published in M.
Jazayeri, R. Loos, D. Musser (eds.): Generic Programming, Proc. of a
- Dagstuhl Seminar, Lecture Notes on Computer Science 1766
+ Dagstuhl Seminar, Lecture Notes on Computer Science. Volume. 1766
Guidelines
@@ -63,13 +63,14 @@
catch(...)
, see below.
- Don't embed a std::string object or any other data
- member or base class whose copy constructor could throw an exception.
- That could lead to termination during stack unwinding. Similarly,
- it's a bad idea to use a base or member whose ordinary constructor
- might throw, because, though not fatal, you will report a different
- exception than intended when that happens in a
- throw-expression such as:
+ Don't embed a std::string object or any other
+ data member or base class whose copy constructor could throw
+ an exception. That could lead to directly to std::terminate()
+ at the throw point. Similarly, it's a bad idea to use a base
+ or member whose ordinary constructor(s) might throw, because,
+ though not necessarily fatal to your program, you may report a
+ different exception than intended from a
+ throw-expression that includes construction such as:
@@ -135,7 +136,7 @@ throw some_exception();
where the problem was detected. That usually means assert() or
something like it.
- Sometimes it is neccessary to have resilient APIs which can stand up
+
Sometimes it is necessary to have resilient APIs which can stand up
to nearly any kind of client abuse, but there is usually a significant
cost to this approach. For example, it usually requires that each object
used by a client be tracked so that it can be checked for validity. If
@@ -200,7 +201,7 @@ extern "C" void (*old_translator)(unsigned, EXCEPTION_POINTERS*)
Revised
- 22 March, 2003
+ 25 March, 2003