Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Sep 25, 2000

Violating an Exception Specification

The implementation ensures that functions having an exception specification should throw only exceptions that are listed in their exception specification. For example:

 
class X{};
class Y{};

void f() throw X
{
 throw Y(); // violation of exception specification
}

By default, an attempt to throw an exception of a type that is not listed in the exception specification causes the std::unexpected() function to be called. std::unexpected() in turn calls terminate(), which terminates the program.

Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap