సి ++ లో మినహాయింపు నిర్వహణను ఎలా అమలు చేయాలి?



మినహాయింపు నిర్వహణ అంటే ఏమిటి మరియు ఆచరణాత్మక ప్రదర్శనతో C ++ లో మినహాయింపు నిర్వహణను ఎలా అమలు చేయాలో అర్థం చేసుకోవడానికి ఈ వ్యాసం మీకు సహాయం చేస్తుంది.

మినహాయింపులు రన్ సమయంలో లేదా కంపైల్ సమయంలో అసాధారణ పరిస్థితులు. c ++ లో చాలా ముఖ్యమైన భావన. ఈ వ్యాసం దాని విభిన్న రకాలతో పాటు C ++ లో మినహాయింపు నిర్వహణకు మిమ్మల్ని పరిచయం చేస్తుంది.

ఈ వ్యాసంలో క్రింది గమనికలు కవర్ చేయబడతాయి,





కాబట్టి అప్పుడు ప్రారంభిద్దాం,

సి ++ లో మినహాయింపు నిర్వహణ

మినహాయింపుల రకాలు

మినహాయింపులో రెండు రకాలు ఉన్నాయి,



రన్ టైమ్ మినహాయింపు

ఇది రన్ టైమ్‌లో పట్టుబడిన మినహాయింపు.

కంపైల్-టైమ్ మినహాయింపు



ఇది కంపైల్ సమయంలో పట్టుబడిన మినహాయింపు.

C ++ లోని ఈ మినహాయింపు నిర్వహణ కథనంతో ముందుకు సాగుతోంది,

మినహాయింపు నిర్వహణ అంటే ఏమిటి?

ప్రోగ్రామ్ యొక్క సాధారణ అమలుకు లోపాలు అంతరాయం కలిగిస్తాయి. మినహాయింపు నిర్వహణ చాలా అవసరం, మరియు ఇది లోపాలు లేదా మినహాయింపులను నిర్వహించే ప్రక్రియ. ప్రోగ్రామ్ యొక్క అమలు మినహాయింపుల ద్వారా ప్రభావితం కాదని మరియు ప్రోగ్రామ్ అమలుకు ఎటువంటి సమస్య లేకుండా నెమ్మదిగా వాటిని నిర్వహిస్తుందని ఇది నిర్ధారిస్తుంది.

ప్రారంభకులకు ms sql ట్యుటోరియల్స్

మీరు మినహాయింపు నిర్వహణను పరిగణించినప్పుడు, దానితో సంబంధం ఉన్న మూడు పదాలు ఉన్నాయి,

ప్రయత్నించండి

ఈ బ్లాక్ లోపల కోడ్ ట్రయల్ కోడ్ లాగా ఉంటుంది, ఇది మినహాయింపును విసిరివేయవచ్చు. ఈ మినహాయింపు క్యాచ్ బ్లాక్ లోపల పట్టుబడింది.

క్యాచ్

ట్రై బ్లాక్స్‌లోని కోడ్ మినహాయింపు విసిరినప్పుడు ఈ బ్లాక్‌లోని కోడ్ అమలు అవుతుంది.

త్రో

ఈ కీవర్డ్ మినహాయింపు ఎదురైనప్పుడు విసిరేందుకు ఉపయోగించబడుతుంది. మినహాయింపు మినహాయింపు హ్యాండ్లర్‌కు పంపబడుతుంది.

సింటాక్స్:

ట్రై బ్లాక్ లోపల కోడ్ అమలు అవుతుంది. లోపం ఏర్పడితే, కీవర్డ్ త్రో మినహాయింపు మినహాయింపు హ్యాండ్లర్‌కు విసురుతుంది, అనగా క్యాచ్ బ్లాక్. క్యాచ్ బ్లాక్ దాని బ్లాక్ లోపల ఉన్న కోడ్‌ను అమలు చేస్తుంది, తద్వారా మినహాయింపును నిర్వహిస్తుంది.

సి ++ లో మినహాయింపు నిర్వహణ కోసం నమూనా కోడ్‌ను పరిశీలిద్దాం

నమూనా కోడ్

# నేమ్‌స్పేస్‌ను ఉపయోగించండి.<< 'Try Block: '<

అవుట్పుట్:

అవుట్పుట్ - సి ++ లో మినహాయింపు నిర్వహణ - ఎడురేకా

వివరణ

ఈ ప్రోగ్రామ్ మినహాయింపు నిర్వహణను ప్రదర్శిస్తుంది. మనకు వేరియబుల్ x ఉంది, ఇది 1 విలువను కేటాయించింది. అప్పుడు మనకు ట్రై బ్లాక్ యొక్క ప్రారంభం ఉంది. ఈ బ్లాక్‌లో, x అనే షరతుతో మనకు if స్టేట్మెంట్ ఉంది<10.

మా విషయంలో, x ఒకటి కాబట్టి పరిస్థితి నిజం. ప్రోగ్రామ్ అప్పుడు మినహాయింపును విసిరి, నియంత్రణను పట్టుకోవటానికి నియంత్రణ మారుతుంది. మేము షరతును క్యాచ్ భాగంలో అమలు చేస్తాము మరియు బ్లాక్ నుండి నిష్క్రమిస్తాము.

క్యాచ్ (...) {ఖర్చు<< 'Default Exceptionn'<

చివరగా, మేము క్యాచ్ బ్లాక్ మరియు నిష్క్రమణ ప్రోగ్రామ్ తర్వాత మిగిలిన స్టేట్మెంట్లను అమలు చేస్తాము.

బహుళ క్యాచ్ స్టేట్మెంట్ ఉండవచ్చు, సాధ్యం మినహాయింపుల సంఖ్యను బట్టి.

C ++ లోని ఈ మినహాయింపు నిర్వహణ కథనంతో ముందుకు సాగుతోంది,

క్యాచ్ బ్లాక్ వైఫల్యం

మునుపటి ప్రోగ్రామ్‌ను పరిశీలిస్తే, x కు బదులుగా త్రో కీవర్డ్ “ABC” విసిరితే, క్యాచ్ ఫంక్షన్ దానిని నిర్వహించలేకపోతుంది. ఇది లోపం చూపిస్తుంది,

అటువంటి సందర్భంలో మన గెలిచిన దోష సందేశం ప్రదర్శించబడుతుంది.

దీన్ని పరిష్కరించడానికి, అటువంటి సమస్యలను నిర్వహించడానికి మేము కోడ్‌కు డిఫాల్ట్ క్యాచ్ ఫంక్షన్‌ను జోడించాలి.

# నేమ్‌స్పేస్‌ను ఉపయోగించడం చేర్చండి std int main () {int x = 1 try {cout<< 'Try Block: '<

అవుట్‌పుట్:

వివరణ:

ఈ కోడ్ మునుపటి మాదిరిగానే ఉంటుంది. విసిరిన మినహాయింపు రకం చార్. ఇది మా క్యాచ్ ఫంక్షన్ నిరుపయోగంగా ఉంటుంది. కాబట్టి మేము డిఫాల్ట్ క్యాచ్ ఫంక్షన్‌ను చేర్చాము.

క్యాచ్ స్టేట్‌మెంట్‌లు ఏవీ సరిపోలకపోతే, డిఫాల్ట్ క్యాచ్ అమలు అవుతుంది.

బహుళ క్యాచ్ బ్లాక్స్

ఒకే ట్రై బ్లాక్ యొక్క బహుళ క్యాచ్ బ్లాక్స్ ఉండవచ్చు.

ఇక్కడ ఒక ఉదాహరణ,

# నేమ్‌స్పేస్‌ను ఉపయోగించడం చేర్చండి std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

అవుట్పుట్:

వివరణ:

పై కోడ్‌లో, మేము బహుళ క్యాచ్ స్టేట్‌మెంట్‌లను ఉపయోగిస్తాము. మాకు ఒక ఫంక్షన్ పరీక్ష ఉంది, ఇది మినహాయింపును ఉత్పత్తి చేస్తుంది. మొదటి పరీక్ష కేసులో, విలువ 10. సున్నా కంటే 10 ఎక్కువగా ఉన్నందున, ‘ఎ’ అక్షరం విసిరివేయబడుతుంది మరియు ఇది రెండవ క్యాచ్ ఫంక్షన్ ద్వారా పట్టుబడుతుంది.

రెండవ సందర్భంలో, విలువ 0 కన్నా తక్కువ కాబట్టి విలువ -1 విసిరివేయబడుతుంది మరియు ఇది పూర్ణాంక మినహాయింపు ద్వారా పట్టుబడుతుంది

మినహాయింపు బేస్ మరియు ఉత్పన్న తరగతిలో నిర్వహణ:

బేస్ మరియు ఉత్పన్నమైన క్లాస్ మినహాయింపులు పట్టుబడితే, బేస్ క్లాస్ ముందు క్యాచ్ ను ఉత్పన్నం చేయాలి.

ఇక్కడ కొన్ని మినహాయింపులు ఉన్నాయి:

  • std :: మినహాయింపు

  • లాజిక్_రర్

  • runtime_error

  • bad_alloc

  • చెడు_కాస్ట్

  • bad_exception

దీనితో మేము ఈ బ్లాగ్ చివరకి ‘ఎక్సెప్షన్ హ్యాండ్లింగ్ ఇన్ సి ++’ లో వచ్చాము. మీరు ఈ సమాచార మరియు సహాయకారిని కనుగొన్నారని నేను నమ్ముతున్నాను, ఇలాంటి అంశాలపై మరిన్ని ట్యుటోరియల్స్ కోసం వేచి ఉండండి.మీరు మా శిక్షణా కార్యక్రమాన్ని కూడా తనిఖీ చేయవచ్చుj క్వెరీపై దాని వివిధ అనువర్తనాలతో పాటు లోతైన జ్ఞానాన్ని పొందండి, మీరు చేయవచ్చు 24/7 మద్దతు మరియు జీవితకాల ప్రాప్యతతో ప్రత్యక్ష ఆన్‌లైన్ శిక్షణ కోసం.

మాకు ప్రశ్న ఉందా? ఈ బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో వాటిని పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.