learn Exception Advance level examples program, Exception Advance in c++ language in Hindi

Throwing Exceptions in Hindi:

Exceptions को किसी प्रोग्राम मे try block के अन्दर कही पर भी throw किया जा सकता है | इसके लिए throw keyword को use किया जाता है | किसी throw statement के oprand उस Exceptions मे pass किये गये expression के type और उस expression के आउटपुट के type को define करता है |इसके अलावा throw keyword के द्वारा फेके गये code के type को भी define किया जाता है |

उदाहरन के लिए , किसी Exceptions जिसमे किसी non zero value को zero से divind किया जाता है तब throw statement को निन्म तरह से use किया जाता है |

double division(int a, int b) {

if( b == 0 ) {

throw “zero condition Division condition “;

}

return (a/b);

}

जब ये code run होगा तब अगर किसी non zero value को zero से divind किया जाता है तब zero condition Division condition print जरुरु होता है |

Catching Exceptions

catch block हमेशा try block मे होता है | try block मे किसी exception को catch किया जाता है | इसमें exception के type को define किया जाता ही अतः जिस प्रकार के exception को declare किया गया है इसे {} block मे लिखा जाता है | इसके लिए निन्म syntax होता है :-

try {

// protected code

} catch( ExceptionName e ) {

// code to handle ExceptionName exception

}

upper वाले code मे , किसी exception के block मे exceptionname type जरुर होता है | catch block किसि प्रकार के exception को handel करता है जिसे try block मे फेके गया है | किसी exception declartion मे parentheses के बीच …… को जरुर लिखा जाता है | इसका code निन्म है |

try {

// protected code

} catch(…) {

// code to handle any exception

}

नीचे exception का उदहारण है जिसमे 1 को 0 से डेविड किया जाने वाले exception को handel किया गया है |

#include <iostream>

using namespace std;

double div(int a, int b) {

if( b == 0 ) {

throw “Division by zero condition!”;

}

return (a/b);

}

int main () {

int x = 50;

int y = 0;

double z = 0;

try {

z = div(x, y);

cout << z << endl;

} catch (const char* msg) {

cerr << msg << endl;

}

return 0;

}

इस उदाहरन मे exception का type const char* है इसलिए जब किसी exception को catch किया जाता है तब const char* को catch statement को लिखा जाता है |जब इस code को run किया जाता है तब निन्म आउटपुट आता है :

Division by zero condition!

Exception Handling in C++

नीचे दिए गये उदाहरण के लिए , Exception Handling के rule को discuss किया गया है :-

1) नीचे दिए गये उदाहरन मे , Exception Handling के फ्लो को समजा जा सकता है |

#include <iostream>

using namespace std;

int main()

{

int x = -5;

// Some code

cout << “Before try n”;

try {

cout << “Inside try n”;

if (x < 0)

{

throw x;

cout << “Unsigned Integer Never assign negetative value n”;

}

}

catch (int x ) {

cout << “Exception Caught n”;

}

cout << “Execution start n”;

return 0;

}

इस code मे एक integer variable मे negatative value को assign किया जाता है जो की Exception का उदहारण है | इससे निन्म Exception Handling से handel किया जाता है |

Output:

Before try

Inside try

Unsigned Integer Never assign negetative value

Execution start

2)c++ मे , एक sepecial catch block होता है जिसे catch all block कहता है | इससे catch(…..) से define किया जाता है | इस catchtype से किसी प्रोग्राम मे उपस्थित  सभी Exception को catch किया जाता है | इसका उदाहरन निन्म है :

#include <iostream>

using namespace std;

void main()

{

try  {

throw 10;

}

catch (char *excp)  {

cout << “Exception found ” << excp;

}

catch (…)  {

cout << “Default Exceptionn”;

}

getch();

}

इस code मे declare किये गये Exception को default Exception कहते है |

Output:

Default Exception

3) Implicit type conversion doesn’t happen for primitive types. For example, in the following program ‘a’ is not implicitly converted to int

filter_none

edit

play_arrow

brightness_4

#include <iostream>

using namespace std;

int main()

{

try  {

throw ‘a’;

}

catch (int x)  {

cout << “Exception Catch ” << x;

}

catch (…)  {

cout << “Default Exceptionn”;

}

return 0;

}

Output:

Default Exception

4)जब किसी  Exception को throw किया जाता है और इसे कभी कभी भी catch नहीं किया जाता है तब प्रोग्राम  abnormal terminate हो जाता है | नीचे दिए गये उदहारण मे char को throw किया गया है और इससे कभी कभी catch नहीं किया गया है

#include <iostream>

using namespace std;

int main()

{

try  {

throw ‘a’;

}

catch (int x)  {

cout << “Exception Catch “;

}

return 0;

}

Output:

इस उदाहरबा मे terminate हो जाता है क्योकि char को throw किया गया है इससे कभी कभी भी catch नहीं किया गया है |

हम आशा करते है कि यह नोट्स आपकी स्टडी में उपयोगी साबित हुए होंगे | अगर आप लोगो को इससे रिलेटेड कोई भी किसी भी प्रकार का डॉउट हो तो कमेंट बॉक्स में कमेंट करके पूंछ सकते है |
आप इन्हे अपने Classmates & Friends के साथ शेयर कर सकते है |

Leave a Comment

Your email address will not be published. Required fields are marked *