catch keyword

   
catch keyword Exception handler in try statement

  handler  ::= catch (  exception-declaration  )  compound-statement   exception-declaration  ::=  type-specifier-seq declarator   type-specifier-seq abstract-declarator   type-specifier-seq  . . . 

The catch keyword introduces an exception handler in a try statement. A single try statement must have one or more catch blocks. The exception -declaration declares an exception handler object. If an exception is thrown in the try 's compound-statement , the type of the exception object is compared with the type of each catch declaration. The compound-statement of the first catch block whose type matches that of the exception object is executed. A catch block (typically the last one in a try statement) can have an ellipsis ( . . . ) as the exception-declaration to match all exceptions.

Example

 int main(  ) try {   run_program(  ); }  catch  (const std::exception& ex) {   std::cerr << ex.what(  ) << '\n';   std::abort(  ); }  catch  (...) {   std::cerr << "Unknown exception. Program terminated.\n";   std::abort(  ); } 

See Also

declarator , statement , throw , try , type , Chapter 4

   


C++ in a Nutshell
C++ in a Nutshell
ISBN: 059600298X
EAN: 2147483647
Year: 2005
Pages: 270
Authors: Ray Lischner

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net