From Jason Turner

[res.on.exception.handling]

Diff to HTML by rtfpessoa

tmp/tmp2atkyl3b/{from.md → to.md} RENAMED
@@ -4,23 +4,25 @@ Any of the functions defined in the C++ standard library can report a
4
  failure by throwing an exception of a type described in its *Throws:*
5
  paragraph, or of a type derived from a type named in the *Throws:*
6
  paragraph that would be caught by an exception handler for the base
7
  type.
8
 
9
- Functions from the C standard library shall not throw exceptions [^28]
 
10
  except when such a function calls a program-supplied function that
11
- throws an exception.[^29]
12
 
13
  Destructor operations defined in the C++ standard library shall not
14
  throw exceptions. Every destructor in the C++ standard library shall
15
  behave as if it had a non-throwing exception specification.
16
 
17
  Functions defined in the C++ standard library that do not have a
18
  *Throws:* paragraph but do have a potentially-throwing exception
19
- specification may throw *implementation-defined* exceptions. [^30]
 
20
  Implementations should report errors by throwing exceptions of or
21
- derived from the standard exception classes ([[bad.alloc]],
22
- [[support.exception]], [[std.exceptions]]).
23
 
24
  An implementation may strengthen the exception specification for a
25
  non-virtual function by adding a non-throwing exception specification.
26
 
 
4
  failure by throwing an exception of a type described in its *Throws:*
5
  paragraph, or of a type derived from a type named in the *Throws:*
6
  paragraph that would be caught by an exception handler for the base
7
  type.
8
 
9
+ Functions from the C standard library shall not throw exceptions [^26]
10
+
11
  except when such a function calls a program-supplied function that
12
+ throws an exception.[^27]
13
 
14
  Destructor operations defined in the C++ standard library shall not
15
  throw exceptions. Every destructor in the C++ standard library shall
16
  behave as if it had a non-throwing exception specification.
17
 
18
  Functions defined in the C++ standard library that do not have a
19
  *Throws:* paragraph but do have a potentially-throwing exception
20
+ specification may throw *implementation-defined* exceptions.[^28]
21
+
22
  Implementations should report errors by throwing exceptions of or
23
+ derived from the standard exception classes
24
+ [[bad.alloc]], [[support.exception]], [[std.exceptions]].
25
 
26
  An implementation may strengthen the exception specification for a
27
  non-virtual function by adding a non-throwing exception specification.
28