X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Fdoc%2Fhtml%2Fmanual%2Fusing_exceptions.html;h=80f428734f21483f7756e7aa082b265a07451e03;hb=29ea0346ff7c8bcd4b2b68d52c3a1a4a254833d0;hp=c2dd6326d76c423af06f24a5fb3fdbba180252ce;hpb=046dd958c1672f5154d7207b0cb49cccd4378d12;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libstdc++-v3/doc/html/manual/using_exceptions.html b/libstdc++-v3/doc/html/manual/using_exceptions.html index c2dd6326d76..80f428734f2 100644 --- a/libstdc++-v3/doc/html/manual/using_exceptions.html +++ b/libstdc++-v3/doc/html/manual/using_exceptions.html @@ -1,6 +1,5 @@ - -Exceptions

Exceptions

+Exceptions

Exceptions

The C++ language provides language support for stack unwinding with try and catch blocks and the throw keyword. @@ -12,7 +11,7 @@ exceptional circumstances.

Two general topics of discussion follow: exception neutrality and exception safety. -

Exception Safety

+

Exception Safety

What is exception-safe code?

Will define this as reasonable and well-defined behavior by classes @@ -27,7 +26,7 @@ exception neutrality and exception safety. Using the layered approach from Abrahams, can classify library components as providing set levels of safety. These will be called exception guarantees, and can be divided into three categories. -

  • +

    • One. Don't throw.

      As specified in 23.2.1 general container requirements. Applicable @@ -51,7 +50,7 @@ exception neutrality and exception safety. Member functions insert of a single element, push_back, push_front, and rehash. -

Exception Neutrality

+

Exception Neutrality

Simply put, once thrown an exception object should continue in flight unless handled explicitly. In practice, this means propagating exceptions should not be swallowed in @@ -75,7 +74,7 @@ exception neutrality and exception safety. Unfortunately, this tends to be more of a guideline than a strict rule as applied to the standard library. As such, the following is a list of known problem areas where exceptions are not propagated. -

  • +

    • Input/Output

      The destructor ios_base::Init::~Init() @@ -101,7 +100,7 @@ exception neutrality and exception safety. The constructors of thread that take a callable function argument swallow all exceptions resulting from executing the function argument. -

Doing without

+

Doing without

C++ is a language that strives to be as efficient as is possible in delivering features. As such, considerable care is used by both language implementer and designers to make sure unused features @@ -220,7 +219,7 @@ exception neutrality and exception safety. substitution of the C language keyword const with the uglified doppelganger __const. -

Compatibility

With C

+

Compatibility

With C

C language code that is expecting to interoperate with C++ should be compiled with -fexceptions. This will make debugging a C language function called as part of C++-induced stack @@ -235,7 +234,7 @@ is called. getting these details right. For GNU systems, all appropriate parts of the GNU C library are already compiled with -fexceptions. -

With POSIX thread cancellation

+

With POSIX thread cancellation

GNU systems re-use some of the exception handling mechanisms to track control flow for POSIX thread cancellation.

@@ -266,7 +265,7 @@ is called. } catch(...) { this->_M_setstate(ios_base::badbit); } -

Bibliography

+

Bibliography

System Interface Definitions, Issue 7 (IEEE Std. 1003.1-2008) @@ -275,40 +274,40 @@ is called. . Copyright © 2008 The Open Group/The Institute of Electrical and Electronics Engineers, Inc. - .

+ .

Error and Exception Handling . David Abrahams . Boost - .

+ .

Exception-Safety in Generic Components . David Abrahams. Boost - .

+ .

Standard Library Exception Policy . Matt Austern. WG21 N1077 - .

+ .

ia64 c++ abi exception handling . Richard Henderson. GNU - .

+ .

+ . Bjarne Stroustrup.

Exceptional C++ . Exception-Safety Issues and Techniques - . Herb Sutter.

+ . Herb Sutter.

+ .

\ No newline at end of file