జావాలో లోపం మరియు మినహాయింపు మధ్య వ్యత్యాసం
విషయము
జావా యొక్క లోపం మరియు మినహాయింపు సోపానక్రమానికి మూలంగా “త్రోవబుల్” పనిచేస్తుంది. “లోపం” అనేది ప్రోగ్రామ్ యొక్క కోడ్ ద్వారా నిర్వహించలేని క్లిష్టమైన పరిస్థితి. “మినహాయింపు” అనేది ప్రోగ్రామ్ యొక్క కోడ్ ద్వారా నిర్వహించగల అసాధారణమైన పరిస్థితి. లోపం మరియు మినహాయింపు మధ్య ముఖ్యమైన వ్యత్యాసం ఏమిటంటే లోపం సిస్టమ్ వనరులు లేకపోవడం వల్ల సంభవిస్తుంది మరియు ఒక మినహాయింపు మీ కోడ్ కారణంగా సంభవించింది. పోలిక చార్టుతో పాటు లోపం మరియు మినహాయింపుల మధ్య ఇతర తేడాలను అధ్యయనం చేద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | లోపం | మినహాయింపు |
---|---|---|
ప్రాథమిక | సిస్టమ్ వనరులు లేకపోవడం వల్ల లోపం సంభవిస్తుంది. | కోడ్ కారణంగా మినహాయింపు సంభవిస్తుంది. |
రికవరీ | లోపం కోలుకోలేనిది. | మినహాయింపు తిరిగి పొందవచ్చు. |
కీవర్డ్లు | ప్రోగ్రామ్ కోడ్ ద్వారా లోపాన్ని నిర్వహించడానికి మార్గాలు లేవు. | "ప్రయత్నించండి", "క్యాచ్" మరియు "త్రో" అనే మూడు కీలకపదాలను ఉపయోగించి మినహాయింపులు నిర్వహించబడతాయి. |
పరిణామాలు | లోపం కనుగొనబడినప్పుడు ప్రోగ్రామ్ అసాధారణంగా ముగుస్తుంది. | మినహాయింపు కనుగొనబడినప్పుడు, అది "త్రో" మరియు "క్యాచ్" కీలకపదాల ద్వారా విసిరివేయబడుతుంది. |
రకాలు | లోపాలు తనిఖీ చేయని రకంగా వర్గీకరించబడ్డాయి. | మినహాయింపులు తనిఖీ చేయబడిన లేదా తనిఖీ చేయని రకంగా వర్గీకరించబడ్డాయి. |
ప్యాకేజీ | జావాలో, లోపాలు "java.lang.Error" ప్యాకేజీగా నిర్వచించబడ్డాయి. | జావాలో, "java.lang.Exception" లో మినహాయింపులు నిర్వచించబడ్డాయి. |
ఉదాహరణ | OutOfMemory, StackOverFlow. | తనిఖీ చేసిన మినహాయింపులు: NoSuchMethod, ClassNotFound. తనిఖీ చేయని మినహాయింపులు: నల్పాయింటర్, ఇండెక్స్ ut ట్ఆఫ్బౌండ్స్. |
లోపం యొక్క నిర్వచనం
“లోపం”అనేది అంతర్నిర్మిత తరగతి“ త్రోవబుల్ ”యొక్క ఉపవర్గం. సిస్టమ్ వనరులు లేకపోవడం వల్ల సంభవించే క్లిష్టమైన పరిస్థితులు లోపాలు మరియు ప్రోగ్రామ్ యొక్క కోడ్ ద్వారా దీనిని నిర్వహించలేము. లోపాలను ఏ విధంగానైనా తిరిగి పొందలేము ఎందుకంటే వాటిని సృష్టించడం, విసిరేయడం, పట్టుకోవడం లేదా సమాధానం ఇవ్వడం సాధ్యం కాదు. సాధారణంగా మీ ప్రోగ్రామ్ చేత నిర్వహించలేని విపత్తు వైఫల్యం కారణంగా లోపాలు సంభవిస్తాయి.
కంపైలర్కు దాని సంభవించిన దాని గురించి ఎటువంటి జ్ఞానం లేనందున లోపాలు ఎల్లప్పుడూ తనిఖీ చేయని రకం. రన్-టైమ్ వాతావరణంలో లోపాలు ఎల్లప్పుడూ సంభవిస్తాయి. ఒక ఉదాహరణ సహాయంతో లోపాన్ని వివరించవచ్చు, ప్రోగ్రామ్లో స్టాక్ ఓవర్ఫ్లో లోపం, మెమరీ లోపం లేదా సిస్టమ్ క్రాష్ లోపం ఉంది, ఈ రకమైన లోపం సిస్టమ్ కారణంగా ఉంది. అటువంటి లోపాలకు కోడ్ బాధ్యత వహించదు. లోపం సంభవించిన పర్యవసానంగా ప్రోగ్రామ్ అసాధారణంగా ముగుస్తుంది.
మినహాయింపు యొక్క నిర్వచనం
“మినహాయింపు” అనేది అంతర్నిర్మిత తరగతి “త్రోవబుల్” యొక్క ఉపవర్గం. రన్టైమ్ వాతావరణంలో సంభవించే అసాధారణమైన పరిస్థితులు మినహాయింపులు. మా ప్రోగ్రామ్ యొక్క కోడ్ కారణంగా చాలా సార్లు మినహాయింపులు సంభవిస్తాయి.కానీ, మినహాయింపులు తిరిగి పొందగలిగేవి కాబట్టి, మినహాయింపులు ప్రోగ్రామ్ ద్వారానే నిర్వహించబడతాయి. “ప్రయత్నించండి”, “క్యాచ్”, “త్రో” అనే మూడు కీలకపదాలను ఉపయోగించడం ద్వారా మినహాయింపులు నిర్వహించబడతాయి. మినహాయింపు రాయడం యొక్క వాక్యనిర్మాణం:
{// మీ కోడ్ను ఇక్కడ వ్రాయండి} క్యాచ్ (మినహాయింపు రకం) {// మీ కోడ్ను ఇక్కడ వ్రాయండి}
పై కోడ్లో, ట్రై బ్లాక్లో వ్రాసిన కోడ్ మినహాయింపు కోసం మీరు పర్యవేక్షించదలిచిన కోడ్. ట్రై బ్లాక్లో మినహాయింపు సంభవిస్తే, అది “త్రో” కీవర్డ్ని ఉపయోగించి విసిరివేయబడుతుంది. విసిరిన మినహాయింపు పై కోడ్ యొక్క “క్యాచ్” బ్లాక్ ద్వారా పట్టుకోవచ్చు. “మినహాయింపు రకం” అనేది సంభవించిన మినహాయింపు రకం.
సరికాని మాటలలో, సరికాని కోడ్ కారణంగా పొరపాట్లు జరిగాయని మినహాయింపులు అంటారు. ఉదాహరణకు, అభ్యర్థించిన తరగతి కనుగొనబడకపోతే లేదా అభ్యర్థించిన పద్ధతి కనుగొనబడకపోతే. ఈ రకమైన మినహాయింపులు ప్రోగ్రామ్లోని కోడ్ కారణంగా ఉన్నాయి; ఈ రకమైన మినహాయింపులకు సిస్టమ్ బాధ్యత వహించదు. మినహాయింపులు “తనిఖీ” మరియు “తనిఖీ చేయనివి” గా వర్గీకరించబడ్డాయి. రన్ టైమ్లో సంభవిస్తున్నందున తనిఖీ చేయని మినహాయింపులు కంపైలర్ యొక్క జ్ఞానంలో లేవు, అయితే కంపైలర్ సమయంలో కంపైలర్కు తెలిసినందున కంపైలర్కు తనిఖీ చేసిన మినహాయింపుల గురించి జ్ఞానం ఉంటుంది.
- సిస్టమ్ వనరులు లోపించినప్పుడు మాత్రమే లోపం సంభవిస్తుంది, అయితే కోడ్లో కొంత సమస్య ఉంటే మినహాయింపు వస్తుంది.
- లోపం ఎప్పటికీ తిరిగి పొందలేము, అయితే, మినహాయింపును నిర్వహించడానికి కోడ్ను సిద్ధం చేయడం ద్వారా మినహాయింపును తిరిగి పొందవచ్చు.
- లోపం ఎప్పుడూ నిర్వహించబడదు కాని, మినహాయింపు విసిరే కోడ్ ప్రయత్నించండి మరియు క్యాచ్ బ్లాక్ లోపల వ్రాయబడితే మినహాయింపు కోడ్ ద్వారా నిర్వహించబడుతుంది.
- లోపం సంభవించినట్లయితే, ప్రోగ్రామ్ అసాధారణంగా ముగుస్తుంది. మరోవైపు, మినహాయింపు సంభవించినట్లయితే ప్రోగ్రామ్ మినహాయింపును విసిరివేస్తుంది మరియు ఇది ప్రయత్నించండి మరియు క్యాచ్ బ్లాక్ ఉపయోగించి నిర్వహించబడుతుంది.
- లోపాలు తనిఖీ చేయని రకం, అనగా లోపం కంపైలర్ల పరిజ్ఞానంలో లేదు, అయితే, మినహాయింపు తనిఖీ చేయబడిన మరియు తనిఖీ చేయనిదిగా వర్గీకరించబడింది.
- లోపాలు java.lang.Error ప్యాకేజీలో నిర్వచించబడ్డాయి, అయితే, మినహాయింపు java.lang.Exception అని నిర్వచించబడింది.
ముగింపు:
మినహాయింపులు ప్రోగ్రామ్ యొక్క కోడింగ్లో చేసిన పొరపాట్ల ఫలితాలు, మరియు లోపాలు వ్యవస్థ యొక్క సరికాని పనితీరు ఫలితంగా ఉంటాయి