Sunday, May 18, 2008
What is Exception Handling?


  • Exceptions are run-time program anomalies.Exception handling provides a standard mechanism to handle such anomalies.

  • When a exception is raised the normal program execution is suspended until it is handled.

  • Raising of an exception is done by "throw" expression.

  • Handling of an exception is dobe by the "catch" clause.

  • "Try" block groups one or more program statements with one or more catch clauses.

  • Use catch ( ...) to handle all exceptions.


EXAMPLE CODE: Raise and handle an exception by accepting only positive numbers.

#include <iostream>

using namespace std;

// Exception class
class MyException {
    private:
        string iStr;

    public:
        MyException ( string aStr );
        void print ();
};

// User class
class MyObject {
    private:
        int iA;
        int iB;

    public:
        MyObject ( int aa, int bb );
};

MyException::MyException ( string aStr ) {
    iStr = aStr;
}

void MyException::print () {
    cout << iStr << endl;
}

MyObject::MyObject ( int aa, int bb ) {
    iA = aa;
    iB = bb;

    if ( iA <= 0  iB <= 0 ) {
        throw MyException ("Invalid args. Require positive nos.");
    }
}

void main()
{
    cout << "Enter two nos: " << endl;
  
    int arg1, arg2;
    cin >> arg1 >> arg2;

    try {
        MyObject obj(arg1, arg2);
    }
    catch ( MyException& e ) {
        e.print();
        return;
    }

    cout << "Ok" << endl;
}

INPUT1:
Enter two nos:
1 2

OUTPUT1:
OK

INPUT2:
Enter two nos:
10 0

OUTPUT2:
Invalid args. Require positive nos.

Contact Form

Name

Email *

Message *

Back to Top