Saturday, May 17, 2008

C++ Exception Handling

Leave a Comment
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.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment