A throw-expression with no operand in C ++

Source: Internet
Author: User

A throw-expression with no operand re-throws the exception currently being handled. such an expression shoshould appear only in a catch handler or in a function called from within a catch handler. the re-thrown exception object is the original exception object (not a copy ). for example:

 

try {    throw CSomeOtherException();}catch(...) {  // Handle all exceptions    // Respond (perhaps only partially) to exception    // ...    throw;       // Pass exception to some other handler}

 

 

 

An empty throw statement tells the compiler that the function does not throw any exceptions. It is the equivalent to using _ declspec (nothrow). For example:

// exceptions_trycatchandthrowstatements3.cpp void empty() throw(){   puts("In empty()");}void with_type() throw(int){   puts("Will throw an int");   throw(1);}int main(){   try {       empty();       with_type();   }catch (int){       puts("Caught an int");   }}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.