adplus-dvertising
frame-decoration

Question

What is the output of this program?
    #include <iostream>
    #include <exception>
    using namespace std;
    void myunexpected () 
    {
        cout << "unexpected handler called\n";
        throw;
    }
    void myfunction () throw (int,bad_exception) 
    {
        throw 'x';
    }
    int main (void)
    {
        set_unexpected (myunexpected);
        try 
        {
            myfunction();
        }    
        catch (int) 
        { 
            cout << "caught int\n"; 
        }
        catch (bad_exception be) 
        { 
            cout << "caught bad_exception\n"; 
        }
        catch (...) 
        { 
            cout << "caught other exception \n"; 
        }
        return 0;
    }

a.

unexpected handler called

b.

caught bad_exception

c.

caught other exception

d.

both unexpected handler called & caught bad_exception

Answer: (d).both unexpected handler called & caught bad_exception

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. What is the output of this program?

Similar Questions

Discover Related MCQs

Q. How to handle error in the destructor?

Q. What kind of exceptions are available in c++?

Q. What is meant by exception specification?

Q. Identify the correct statement about throw(type).

Q. What will happen when a programs throws any other type of exception other than specified?

Q. What do you mean by “No exception specification”?

Q. Which operations don’t throw anything?

Q. What will happen when an exception is uncaught?

Q. Which handler is used to handle all types of exception?

Q. Which operator is used in catch-all handler?

Q. What function will be called when we have a uncaught exception?

Q. What will not be called when the terminate() is arised in constructor?

Q. What will happen when we move try block far away from catch block?

Q. What will happen if an excpetion that is thrown may causes a whole load of objects to go out of scope?

Q. What operation can be performed by destructor?

Q. What is the main purpose of the constructor?

Q. Why is it expensive to use objects for exception?

Q. Which alternative can replace the throw statement?

Q. What are the disadvantages if use return keyword to return error codes?

Q. What is most suitable for returning the logical errors in the program?