- 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.
0 comments:
Post a Comment