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