జావాలో త్రో మరియు త్రోల మధ్య వ్యత్యాసం

రచయిత: Laura McKinney
సృష్టి తేదీ: 1 ఏప్రిల్ 2021
నవీకరణ తేదీ: 8 మే 2024
Anonim
జావాలో త్రో మరియు త్రోల మధ్య వ్యత్యాసం - ప్రోగ్రామింగ్ మిస్టరీస్
వీడియో: జావాలో త్రో మరియు త్రోల మధ్య వ్యత్యాసం - ప్రోగ్రామింగ్ మిస్టరీస్

విషయము


త్రో మరియు త్రోలు మినహాయింపు నిర్వహణలో ఉపయోగించే కీలకపదాలు. ది త్రో ప్రోగ్రామర్ సృష్టించిన మినహాయింపు యొక్క ఉదాహరణను JVM కు మాన్యువల్‌గా ఇవ్వడానికి కీవర్డ్ ఉపయోగించబడుతుంది. ది విసురుతాడు మినహాయింపును నిర్వహించే బాధ్యతను కాలర్ పద్ధతికి అప్పగించడానికి ఉపయోగించే కీవర్డ్. త్రో మరియు త్రోల మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే, త్రో కీవర్డ్ మినహాయింపు వస్తువును ఉపయోగిస్తుంది, అయితే త్రోస్ కీవర్డ్ మినహాయింపు తరగతుల పేరును ఉపయోగిస్తుంది.

  1. పోలిక చార్ట్
  2. నిర్వచనం
  3. కీ తేడాలు
  4. ముగింపు

పోలిక చార్ట్

పోలిక యొక్క ఆధారంత్రోవిసురుతాడు
ప్రాథమికత్రో కీవర్డ్ మా సృష్టించిన మినహాయింపు వస్తువును JVM కు మాన్యువల్‌గా అప్పగిస్తుంది.మినహాయింపు నిర్వహణ యొక్క బాధ్యతను పద్ధతి యొక్క కాలర్‌కు అప్పగించడానికి త్రోస్ కీవర్డ్ ఉపయోగించబడుతుంది.
సింటాక్స్త్రో త్రో-ఉదాహరణ;return_type method_name (పారామితి-జాబితా) ExceptionClass_list విసురుతుంది
{
// పద్ధతి యొక్క శరీరం
}
తరువాతత్రో కీవర్డ్ తరువాత మినహాయింపు వస్తువు.త్రోస్ కీవర్డ్ పద్ధతిలో సంభవించే మినహాయింపు తరగతుల జాబితాను అనుసరిస్తుంది.
విసిరిన మినహాయింపు సంఖ్యత్రో కీవర్డ్ ఒకే మినహాయింపు ఉదాహరణను విసిరివేయగలదు.త్రోస్ కీవర్డ్ కామాతో వేరు చేయబడిన బహుళ మినహాయింపు తరగతులను ప్రకటించగలదు.


త్రో యొక్క నిర్వచనం

కీవర్డ్ “త్రో”మేము సృష్టించిన మినహాయింపు ఉదాహరణను JVM (జావా వర్చువల్ మెషిన్) కు మానవీయంగా అప్పగించడానికి ఉపయోగిస్తారు. ఒక మినహాయింపు ఉదాహరణను విసిరేందుకు “త్రో” ఉపయోగించకపోతే మరియు మినహాయింపు సంభవిస్తే, అప్పుడు రన్‌టైమ్ సిస్టమ్ అంతర్గతంగా మినహాయింపు ఉదాహరణను JVM కి విసిరివేస్తుంది మరియు ప్రోగ్రామ్ అసాధారణంగా ముగుస్తుంది. త్రో కీవర్డ్ యొక్క సాధారణ రూపం:

త్రో త్రో_ఇన్స్టాన్స్ త్రో;

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

కీవర్డ్ త్రోను అర్థం చేసుకోవడానికి ఒక ఉదాహరణ తీసుకుందాం.

క్లాస్ టెస్ట్ {పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ అర్గ్స్) new కొత్త అంకగణిత ఎక్సెప్షన్ ("/ బై సున్నా") త్రో; }}

పై కోడ్‌లో, కీవర్డ్ త్రో మినహాయింపు తరగతి “అంకగణిత ఎక్సెప్షన్” యొక్క ఉదాహరణను విసురుతుంది. త్రో కీవర్డ్ అప్పుడు ఉపయోగించబడకపోతే, ప్రధాన () పద్ధతి అంతర్గతంగా JVM కు అప్పగించిన మినహాయింపు వస్తువును సృష్టించింది.


కీవర్డ్ త్రో గురించి గుర్తుంచుకోవలసిన అంశాలు:

  • ఇది మినహాయింపు వస్తువును మానవీయంగా JVM కు అప్పగిస్తుంది.
  • ఇది వినియోగదారు నిర్వచించిన మినహాయింపులు లేదా అనుకూలీకరించిన మినహాయింపుల కోసం ఉత్తమంగా ఉపయోగించబడుతుంది.
  • త్రో కీవర్డ్ ద్వారా విసిరిన మినహాయింపు వస్తువుకు మెమరీ కేటాయించబడకపోతే, అప్పుడు రన్‌టైమ్ మినహాయింపు, నల్‌పాయింటర్ ఎక్సెప్షన్.
  • త్రో కీవర్డ్ ప్రోగ్రామ్ సంభవించిన వెంటనే దాని అమలును ఆపివేస్తుంది. త్రో స్టేట్మెంట్ తర్వాత మేము నేరుగా ఏ స్టేట్మెంట్ రాయలేము. త్రో స్టేట్మెంట్ తర్వాత మనం ఏదైనా స్టేమెంట్‌ను నేరుగా వ్రాస్తే, కంపైలర్ సంకలనం సమయంలో లోపం, చేరుకోలేని స్టేట్‌మెంట్ చూపిస్తుంది.
  • త్రో కీవర్డ్ ఉపయోగించి త్రోవబుల్ క్లాస్ యొక్క వస్తువులను మాత్రమే విసిరివేయవచ్చు. విసిరిన వస్తువు తరగతి త్రోవబుల్ యొక్క వస్తువు కాకపోతే, మనకు కంపైల్ టైమ్ ఎర్రర్ వస్తుంది “అననుకూల రకం కనుగొనబడింది. . అవసరం java.lang. త్రోవబుల్ ”

గమనిక:

త్రో కీవర్డ్ C ++, JAVA, C # లో మినహాయింపును మానవీయంగా విసిరేయడానికి ఉపయోగించబడుతుంది.

త్రోల నిర్వచనం

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

త్రోస్ కీవర్డ్ యొక్క ఉపయోగం కంపైలర్ను ఒప్పించింది, ఈ పద్ధతిలో మినహాయింపు కాలర్ పద్ధతి ద్వారా నిర్వహించబడాలి, అందువల్ల సంకలన లోపం జరగదు. కానీ, కాలర్ పద్ధతి మినహాయింపును నిర్వహించాలి లేదా మినహాయింపును దాని సోపానక్రమం పద్ధతికి నిర్వహించే బాధ్యతను అప్పగించాలి. రన్‌టైమ్ మినహాయింపు సంభవించినప్పుడు, త్రోస్ కీవర్డ్‌ని ఉపయోగించిన తర్వాత కూడా, ఇది ప్రోగ్రామ్ యొక్క అసాధారణ ముగింపును నిరోధించదు. కాలర్ పద్ధతి ప్రధానమైతే (), అప్రమేయంగా JVM మినహాయింపును నిర్వహిస్తుంది.

త్రోస్ కీవర్డ్ యొక్క సాధారణ రూపం:

return_type method_name (పారామితి-జాబితా) మినహాయింపు విసిరింది క్లాస్_లిస్ట్ {// బాడీ ఆఫ్ మెథడ్}

పద్ధతి యొక్క సంతకం తర్వాత త్రోస్ కీవర్డ్ కనిపిస్తుంది అని మనం చూడవచ్చు మరియు ఇది పద్ధతిలో సంభవించే మినహాయింపు తరగతుల జాబితాను కలిగి ఉంటుంది. కీవర్డ్ విసిరిన తర్వాత వ్రాసిన మినహాయింపు తరగతుల జాబితా కామాతో వేరు చేయబడుతుంది.

త్రోస్ కీవర్డ్‌ని అర్థం చేసుకోవడానికి ఒక ఉదాహరణ తీసుకుందాం.

కాల్స్ టెస్ట్ {పబ్లిక్ స్టాటిక్ వాయిడ్ మెయిన్ (స్ట్రింగ్ అర్గ్స్) విసురుతుంది ఇంటరప్టెడ్ ఎక్సెప్షన్ {థ్రెడ్ స్లీప్ (10000); }}

పై కోడ్‌లో, స్లీప్ () పద్ధతిని ఉపయోగించి కొంతకాలం నిద్రపోయేలా ప్రధాన థ్రెడ్ తయారు చేస్తారు. ఇప్పుడు, ప్రధాన పద్ధతి నిద్రలో ఉన్నప్పుడు ఇతర థ్రెడ్‌లు ప్రధాన థ్రెడ్‌కు అంతరాయం కలిగించే అవకాశం ఉంది. కానీ, త్రోస్ కీవర్డ్ ప్రధాన () పద్ధతి యొక్క సంతకం తర్వాత ఉపయోగించబడుతుంది, కాబట్టి ప్రోగ్రామ్ సులభంగా కంపైల్ చేస్తుంది. త్రోస్ కీవర్డ్ తనిఖీ చేసిన మినహాయింపు తరగతి ఇంటరప్టెడ్ ఎక్సెప్షన్ అని ప్రకటిస్తోంది. ఇప్పుడు, రన్‌టైమ్‌లో ఏదైనా ఇతర థ్రెడ్ ప్రధాన థ్రెడ్‌కు అంతరాయం కలిగిస్తే, త్రోస్ కీవర్డ్ ఆ మినహాయింపును మెయిన్ () పద్ధతి యొక్క కాలర్‌కు అప్పగిస్తుంది, ఇది జెవిఎం. JVM ప్రోగ్రామ్‌ను అసాధారణంగా ముగించింది.

కీవర్డ్‌ను విసరడం గురించి గుర్తుంచుకోవలసిన అంశాలు:

  • తనిఖీ చేసిన మినహాయింపు తరగతులను ప్రకటించడానికి మాత్రమే త్రోస్ కీవర్డ్ ఉపయోగించబడుతుంది. తనిఖీ చేయని మినహాయింపు కోసం త్రోస్ కీవర్డ్ వాడకం ప్రభావం చూపదు.
  • పద్ధతి మినహాయింపును స్వంతంగా నిర్వహించకూడదనుకుంటే, అది ఆ మినహాయింపును త్రోస్ కీవర్డ్‌ని ఉపయోగించి ఆ తరగతి యొక్క కాలర్ పద్ధతికి అప్పగిస్తుంది.
  • దీని ఉపయోగం ప్రోగ్రామ్ యొక్క సున్నితమైన సంకలనాన్ని మాత్రమే అనుమతిస్తుంది.
  • రన్‌టైమ్‌లో మినహాయింపు సంభవిస్తే, త్రోస్ కీవర్డ్ ఉపయోగించిన తర్వాత కూడా ప్రోగ్రామ్ అసాధారణంగా ముగుస్తుంది.
  • రన్‌టైమ్‌లో మినహాయింపు సంభవించినట్లయితే ప్రోగ్రామ్ యొక్క సాధారణ ముగింపు కోసం ప్రయత్నించండి / క్యాచ్ బ్లాక్‌ను ఉపయోగించమని సిఫార్సు చేయబడింది.

గమనిక:

కీవర్డ్ త్రోలు జావాలో మాత్రమే ఉపయోగించబడతాయి. సి ++ మరియు సి # త్రోస్ కీవర్డ్‌ని ఉపయోగించవు.

  1. కీవర్డ్ త్రో, మినహాయింపు నిర్వహణ బాధ్యతను మానవీయంగా JVM కి అప్పగించండి, అయితే, కీవర్డ్ విసురుతుంది, మినహాయింపు సంభవించిన కోడ్ యొక్క కాలర్ పద్ధతికి మినహాయింపు నిర్వహణ బాధ్యతను అప్పగిస్తుంది.
  2. త్రో కీవర్డ్ తరువాత మినహాయింపు వస్తువు JVM కి అప్పగించబడుతుంది. మరోవైపు, త్రోస్ కీవర్డ్ పద్ధతిలో సంభవించే మినహాయింపు తరగతుల తరువాత.
  3. త్రో కీవర్డ్ ఒకే సమయంలో ఒక మినహాయింపు వస్తువును విసిరివేయగలదు, అయితే త్రోస్ కీవర్డ్ ఒక సమయంలో కామాతో వేరు చేయబడిన బహుళ మినహాయింపు తరగతులను ప్రకటించగలదు.

ముగింపు:

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