Login | Register   
RSS Feed
Download our iPhone app
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.