John Squirrels
స్థాయి
San Francisco

పాత స్థాయి 09

సమూహంలో ప్రచురించబడింది

నాలెడ్జ్ వర్సెస్ స్కిల్స్

పాత స్థాయి 09 - 1థియరీకి, ప్రాక్టీస్‌కి పెద్ద తేడా లేదని కాలేజీ మాకు నేర్పింది. బాగా, ఖచ్చితంగా మీరు అదే కాదు అర్థం. కానీ మీరు ప్రధాన తేడాను చూడలేరు. ఇంకా ఒకటి ఉంది. చాలా మంది వ్యక్తులు "నాకు తెలుసు" మరియు "నేను చేయగలను" మధ్య సమానత్వ చిహ్నాన్ని ఉంచారు. మీరు చేస్తారా? కొన్ని ఉదాహరణల గురించి ఎలా?
  1. ధూమపానం నాకు హానికరం అని నాకు తెలుసు, కానీ నేను ధూమపానం చేస్తాను.
  2. ఫాస్ట్ ఫుడ్ నాకు చెడ్డదని నాకు తెలుసు, కానీ నేను దానిని తింటాను.
  3. నాకు ట్రాఫిక్ నిబంధనలు తెలుసు కానీ నేను డ్రైవ్ చేయలేను.
  4. జాగింగ్ నాకు మంచిదని నాకు తెలుసు కానీ నేను ఉదయం జాగింగ్ చేయను.
ప్రజలు "నేను చేయగలను" కోసం "నాకు తెలుసు" అని తీసుకోవడం తరచుగా జరుగుతుంది. ట్రాఫిక్ నిబంధనలకు ఇది మంచి ఉదాహరణ. ఒక వ్యక్తికి నిబంధనలు తెలిసి, డ్రైవింగ్ ఎలా చేయాలో తెలిస్తే, అతను డ్రైవ్ చేయగలడా? లేదు. తనకి డ్రైవింగ్ తెలుసు అనుకుంటే? కాబట్టి అతనికి బోధకుడు ఎందుకు కావాలి - అతనికి ఇప్పటికే ప్రతిదీ తెలుసు. మీకు ఇప్పటికే ప్రతిదీ తెలుసు అని మీరు ఖచ్చితంగా అనుకుంటే, మీరు బహుశా కొత్తగా ఏమీ నేర్చుకోలేరు. మరియు మీరు ప్రతిదీ ఎలా చేయాలో మీకు ఖచ్చితంగా తెలిస్తే, మీరు అధ్యయనం చేయలేరు. ఇలాంటి ఆలోచన మీ మనసులో కూడా రాదు. మరియు మీరు ఏదైనా నేర్చుకోవడానికి అన్ని అద్భుతమైన అవకాశాలను కోల్పోతారని అర్థం. సాధారణ కళాశాల మీకు జ్ఞానాన్ని మాత్రమే ఇస్తుంది; మీరు మీ స్వంతంగా నైపుణ్యాలను పొందవలసి ఉంటుంది. కానీ నేను ఏమి వింటాను? మీరు మీ కళాశాలలో సిద్ధాంతంతో పాటు అభ్యాసాన్ని కలిగి ఉన్నారా? సరే, మీరు ఫిజిక్స్ ఫ్యాకల్టీలో చదివితే, కనీసం 20% సామర్థ్యంతో ఆవిరి ఇంజిన్ యొక్క పని నమూనాను తయారు చేయండి. దీన్ని ఎలా చేయాలో మీకు తెలుసని నేను పందెం వేస్తున్నాను, కానీ మీరు దీన్ని నిజంగా చేయలేరు, నేను నిజమేనా? మీరు రసాయన శాస్త్రవేత్తనా ? పొగలేని పొడిని తయారు చేయండి. మీకు ఎలా తెలుసు, కానీ మీరు చేయలేరు, హా? గణిత శాస్త్రజ్ఞుడు, నువ్వేనా? ఫిరంగి షెల్ యొక్క పథాన్ని లెక్కించండి. షెల్ ఆకారాన్ని పరిగణనలోకి తీసుకోవడం మర్చిపోవద్దు. నిజ జీవితంలో గణిత చుక్కలు ఎగరవు. మరియు గోళాకార గుర్రాలు లేవు. పాత స్థాయి 09 - 2జీవశాస్త్రవేత్త? పెన్సిలిన్‌ను వేరు చేయండి. ఈ అచ్చు పుచ్చకాయలపై పెరుగుతుంది, కాబట్టి మీకు తెలుసు. మీకు ఎలా తెలుసు - అద్భుతం! మీరు చేయగలరా? ఆర్థికవేత్త?చమురుపై ధర పెరుగుతుందని అంచనా వేయండి. పూర్తి? ఇప్పుడు మీ సూచన ఆధారంగా సంవత్సరానికి $2,000 లేదా $200,000గా మార్చండి. మీరు ఎప్పుడైనా FOREXలో ఆడారా? అసలు డబ్బు కోసమా? లేదా అది ఏమిటో మీకు తెలుసా? అంతర్జాతీయ ఆర్థిక శాస్త్రం? అద్భుతమైన! నేను ఆఫ్‌షోర్ కంపెనీని ఎక్కడ తెరవగలను? హాంగ్-కాంగ్, ఐర్లాండ్ లేదా USAలో. ఎందుకు? మీకు తెలిసినప్పటికీ, ఇది సందేహాస్పదమైనది, మీరు దీన్ని ఎప్పటికీ చేయలేరు కాబట్టి మీరు దీన్ని చేయలేరు. దీన్ని ఎలా చేయాలో మీకు కనీసం క్లూ కూడా లేదు. ఓహ్, మీరు దానిని కాలేజీలో చదవలేదా? మీరు సిద్ధపడని పనులను మీకు ఇవ్వడానికి నాకు ఏ హక్కు ఉంది? ఎందుకంటే ఇవి నిజ జీవితంలోని పనులు. ఇది IS అభ్యాసం , మీరు కళాశాలలో చదివినవన్నీ: గోళాకార గుర్రాలు, పరిపూర్ణ పోటీ – ఇవేవీ నిజ జీవితంలో లేవు. కానీ నేను ఎందుకు చెప్పడం మర్చిపోయానుమార్కెటింగ్ స్పెషలిస్ట్ ? నా ఉపన్యాసాల గురించి వీలైనంత ఎక్కువ మందికి తెలిసేలా నా $500 ఖర్చు చేయడానికి ఉత్తమ మార్గం ఏమిటి? ప్రకటనపైనా? క్లాసిక్ అడ్వర్టైజింగ్ మాత్రమే కాకుండా, USP (ప్రత్యేకమైన అమ్మకపు ప్రతిపాదన) భావన కూడా పాతదని మీకు తెలుసా, ఇది మీకు కళాశాలలో దాదాపు ప్రత్యేకమైన వినాశనంగా బోధించబడిందని నేను ఖచ్చితంగా అనుకుంటున్నాను. మీకేదైనా తెలుసు అని మర్చిపోండి. మిమ్మల్ని మీరు ప్రశ్నించుకోండి - నేను ఏమి చేయగలను? ఉపయోగకరమైనది, నా ఉద్దేశ్యం? ప్రజలు ఏదైనా డబ్బు చెల్లిస్తారా? మంచి డబ్బు, నా ఉద్దేశ్యం? కాబట్టి స్నేహితులారా, కోడ్‌జిమ్ వంటి అద్భుతమైన కోర్సుకు కృతజ్ఞతలు తెలియజేయండి. దాని కారణంగా మీరు ప్రోగ్రామ్ ఎలా చేయాలో మాత్రమే తెలుసుకోలేరు, కానీ మీరు దీన్ని నిజంగా చేయగలరు. మీరు కొన్ని సంవత్సరాలలో ఉద్యోగం పొందగలరు మరియు మంచి డబ్బు సంపాదించగలరు. చక్కగా మరియు హాయిగా జీవించడానికి ఈ డబ్బు సరిపోతుందని నేను ఆశిస్తున్నాను. నేను మరోసారి చెబుతాను, కాబట్టి మీరు గుర్తుంచుకోవాలి: మీకు తెలిసిన దానితో సంబంధం లేదు. మీకు ఎలాంటి ఉపయోగకరమైన నైపుణ్యాలు ఉన్నాయి, ప్రజలు మీకు చెల్లించడానికి ఆసక్తి చూపుతారు. దీన్ని ఎంత త్వరగా అర్థం చేసుకుంటే అంత మంచిది.

మీరు కొత్త స్థాయికి చేరుకున్నారు

స్థాయి 9

పాత స్థాయి 09 - 3

1 రిషా, స్టాక్ ట్రేస్

పాత స్థాయి 09 - 4- హే! స్టాక్ ట్రేస్ ఏమిటో ఈ రోజు నేను మీకు చెప్తాను. అయితే ముందుగా స్టాక్ అంటే ఏమిటో మీకు వివరిస్తాను. - ఒక నిర్దిష్ట క్లర్క్ కోసం అసైన్‌మెంట్లు - పేపర్ల స్టాక్‌ను ఊహించుకోండి. స్టాక్ పైభాగంలో కొత్త అసైన్‌మెంట్‌ను ఉంచవచ్చు మరియు అతను స్టాక్ పై నుండి ఒక అసైన్‌మెంట్ తీసుకుంటాడు. అందువల్ల, అసైన్‌మెంట్‌లు మొదట వచ్చిన వారికి కాదు. ప్రతిసారీ క్లర్క్ చివరిగా వచ్చే అసైన్‌మెంట్ తీసుకుంటాడు. సేకరణ యొక్క అటువంటి నిర్మాణాన్ని స్టాక్ అంటారు . - జావాలో, ప్రత్యేక సేకరణ ఉంది - స్టాక్. ఈ సేకరణలో «ఒక మూలకాన్ని జోడించు» మరియు «ఒక మూలకాన్ని తీసుకోండి(పొందండి/తీసివేయండి)» పద్ధతులు ఉన్నాయి. మీకు ఇప్పటికే తెలిసినట్లుగా, చివరిగా జోడించిన మూలకం ముందుగా తీసుకోబడుతుంది. - హమ్. ఇది కష్టం కాదు, నేను ఊహిస్తున్నాను. - బాగానే ఉంది. అప్పుడు నేను స్టాక్ ట్రేస్ ఏమిటో వివరిస్తానుఉంది. - జావా ఫంక్షన్‌లో А ఫంక్షన్ B అని కాల్ చేస్తుంది మరియు రెండోది ఫంక్షన్ C అని కాల్ చేస్తుంది , ఇది ఫంక్షన్ D అని పిలుస్తుంది . కాబట్టి, ఫంక్షన్ B నుండి నిష్క్రమించడానికి , మీరు ముందుగా ఫంక్షన్ C నుండి నిష్క్రమించాలి మరియు అలా చేయడానికి మీరు ఫంక్షన్ D నుండి నిష్క్రమించాలి . ఇది స్టాక్‌కి చాలా పోలి ఉంటుంది. - మరియు సారూప్యత ఏమిటి? - స్టాక్‌లో, ఒక నిర్దిష్ట అసైన్‌మెంట్‌ను పొందడానికి, మీరు పైన ఉంచిన అన్ని అసైన్‌మెంట్‌లను కూడా పూర్తి చేయాలి. - సరే, ఇది కాస్త సారూప్యత, కానీ నేను ప్రతిదీ సరిగ్గా అర్థం చేసుకున్నానో లేదో నాకు ఖచ్చితంగా తెలియదు. - ఇక్కడ చూడండి. జావాలో స్టాక్ అనేది మూలకాల సమితి. ఇది స్టాక్‌లోని కాగితపు షీట్‌ల వంటిది. ఎగువ నుండి మూడవదాన్ని తీసుకోవడానికి, మీరు రెండవ షీట్ తీసుకోవాలి, కానీ దానికి ముందు మీరు మొదటిదాన్ని తీసుకోవాలి. మీరు ఎల్లప్పుడూ షీట్లను ఉంచవచ్చు మరియు తీసుకోవచ్చు, కానీ మీరు వాటిని పైభాగంలో మాత్రమే ఉంచవచ్చు మరియు ఎగువ నుండి మాత్రమే తీసుకోవచ్చు. ఫంక్షన్ కాల్‌కి కూడా ఇది వర్తిస్తుంది. ఫంక్షన్ А కాల్స్ ఫంక్షన్ B , రెండో కాల్స్ ఫంక్షన్ C . А నుండి నిష్క్రమించడానికి , మీరు ముందుగా B నుండి నిష్క్రమించాలి మరియు దీన్ని చేయడానికి మీరు C నుండి నిష్క్రమించాలి . - ఒక నిమిషం ఆగు. నేను సరిగ్గా అర్థం చేసుకున్నట్లయితే, మొత్తం స్టాక్ "స్టాక్‌పై ఉంచిన చివరి షీట్ మాత్రమే తీసుకోబడుతుంది" మరియు "మొదట, చివరిగా పిలిచే ఫంక్షన్ నిష్క్రమించాలి" అని మారుతుంది. అవునా? - అవును. కాబట్టి, ఫంక్షన్ కాల్‌ల క్రమం «ఫంక్షన్ కాల్ స్టాక్» లేదా కేవలం «కాల్ స్టాక్». చివరిగా పిలవబడే ఫంక్షన్ తప్పనిసరిగా ముందుగా ముగించబడాలి. ఉదాహరణను చూద్దాం: పాత స్థాయి 09 - 5- సరే. ఫంక్షన్ కాల్‌తో ప్రతిదీ స్పష్టంగా ఉంది, నేను ఊహిస్తున్నాను. అయితే ఈ StackTraceElement అంటే ఏమిటి ? - జావా వర్చువల్ మెషీన్ అన్ని ఫంక్షన్ కాల్‌లను లాగ్ చేస్తుంది. ఈ ప్రయోజనం కోసం ఇది ఒక ప్రత్యేక సేకరణను కలిగి ఉంది - స్టాక్. ఒక ఫంక్షన్ మరొకటి కాల్ చేసినప్పుడు, JVM ఈ స్టాక్‌లో కొత్త మూలకం StackTraceElement ని ఉంచుతుంది. ఫంక్షన్ ముగిసినప్పుడు, మూలకం స్టాక్ నుండి తొలగించబడుతుంది. అందువలన, ఈ స్టాక్ ఎల్లప్పుడూ «ఫంక్షన్ కాల్ స్టాక్» యొక్క ప్రస్తుత స్థితి గురించి తాజా సమాచారాన్ని నిల్వ చేస్తుంది. - ప్రతి StackTraceElementఅనే పద్ధతి గురించిన సమాచారాన్ని కలిగి ఉంటుంది. కాబట్టి మీరు getMethodName ఉపయోగించి ఈ పద్ధతి పేరును పొందవచ్చు . - పై ఉదాహరణ దానిని చూపుతుంది:
  1. "కాల్ స్టాక్" పొందండి:
  2. ప్రతి కోసం లూప్‌ని ఉపయోగించి శ్రేణిని మళ్ళించండి . మీరు దానిని మరచిపోలేదని నేను ఆశిస్తున్నాను.
  3. System.out కు పద్ధతి పేర్లను ముద్రించండి .
- ఒక ఆసక్తికరమైన విషయం, మరియు స్పష్టంగా సులభం. ధన్యవాదాలు, రిషా!

2 డియెగో, టాస్క్ ఆన్ స్టాక్ ట్రేస్ డిస్ప్లే

- హే, అమిగో! స్క్రీన్‌పై స్టాక్ ట్రేస్‌ను ప్రదర్శించడానికి ఇక్కడ ఒక చిన్న పని ఉంది.
పనులు
1
ప్రతి పద్ధతి దాని StackTrace వ్రాయండి ఒకదానికొకటి కాల్ ఐదు పద్ధతులు తిరిగి ఉండాలి . ప్రతి పద్ధతి దాని StackTraceని తిరిగి ఇవ్వాలి.
2 StackTrace మళ్ళీ
ఒకదానికొకటి కాల్ చేసుకునే ఐదు పద్ధతులను వ్రాయండి. ప్రతి పద్ధతి దాని కాలర్ పద్ధతి పేరును తిరిగి ఇవ్వాలి. మీరు StackTraceని ఉపయోగించి కాలర్ పద్ధతిని పొందవచ్చు.
3
ఈ పద్ధతి ఒకదానికొకటి కాల్ చేసుకునే ఐదు పద్ధతులను వ్రాయండి నుండి ఈ పద్ధతిని పిలిచిన కోడ్ యొక్క లైన్ నంబర్‌ను అందించాలి . ప్రతి పద్ధతి ఈ పద్ధతి నుండి పిలిచిన కోడ్ యొక్క లైన్ నంబర్‌ను తిరిగి ఇవ్వాలి. ఫంక్షన్ ఎలిమెంట్ .getLineNumber()ని ఉపయోగించండి .
4 10 కాల్‌ల స్టాక్ ట్రేస్
10 కాల్‌ల స్టాక్ ట్రేస్‌ను పొందడానికి కోడ్‌ను వ్రాయండి.
5 పద్ధతి ఫలితాన్ని అందించాలి - దాని స్టాక్ ట్రేస్ డెప్త్‌ను
ప్రదర్శించే మరియు దాని స్టాక్ ట్రేస్ డెప్త్‌ని తిరిగి ఇచ్చే పద్ధతిని వ్రాయండి. స్టాక్ ట్రేస్ డెప్త్ అనేది దాని పద్ధతుల సంఖ్య (జాబితాలోని మూలకాల సంఖ్య).

3 ఎల్లీ, లోపాలు మరియు మినహాయింపులు

- హే, అమిగో! ఈ రోజు మనకు చాలా ఆసక్తికరమైన పాఠం ఉంది. మినహాయింపుల గురించి నేను మీకు చెప్తాను. మినహాయింపు అనేది ప్రోగ్రామ్‌లోని లోపాలను నియంత్రించడానికి ఒక ప్రత్యేక యంత్రాంగం. ప్రోగ్రామ్‌లో సంభవించే లోపాల యొక్క కొన్ని ఉదాహరణలు ఇక్కడ ఉన్నాయి:
  1. ప్రోగ్రామ్ పూర్తి డిస్క్‌కి ఫైల్‌ను వ్రాయడానికి ప్రయత్నిస్తుంది.
  2. ప్రోగ్రామ్ శూన్య సూచనను నిల్వ చేసే వేరియబుల్ యొక్క పద్ధతిని కాల్ చేయడానికి ప్రయత్నిస్తుంది.
  3. ప్రోగ్రామ్ సంఖ్యను 0 ద్వారా విభజించడానికి ప్రయత్నిస్తుంది.
ఈ చర్యలు లోపానికి దారితీస్తాయి. సాధారణంగా, ఇది ప్రోగ్రామ్ యొక్క మూసివేతకు దారి తీస్తుంది - కోడ్‌ని అమలు చేయడం కొనసాగించడానికి ఎటువంటి పాయింట్ లేదు. - అది ఎందుకు? - కారు కొండపై నుండి పడిపోతున్నప్పుడు చక్రం తిప్పడానికి ఏదైనా అర్థం ఉందా? - కార్యక్రమం ముగియాలని మీ ఉద్దేశమా? - అవును. ఇంతకు ముందు ఇలాగే ఉండేది. ఏదైనా లోపం ప్రోగ్రామ్ రద్దుకు దారితీసింది. - ఇది చాలా తెలివైన నిర్ణయం. - పని చేయడానికి ప్రయత్నించడం మంచిది కాదా? - అవును. మీరు MS వర్డ్‌లో భారీ వచనాన్ని టైప్ చేసారు, దాన్ని సేవ్ చేసారు, అది సేవ్ చేయబడలేదు, కానీ ప్రోగ్రామ్ అంతా బాగానే ఉందని మీకు చెబుతుంది. మరియు మీరు టైప్ చేయడం కొనసాగించండి. సిల్లీ, కాదా? - అవును. - అప్పుడు ప్రోగ్రామర్లు ఒక ఆసక్తికరమైన చర్యతో ముందుకు వచ్చారు:ప్రతి ఫంక్షన్ దాని పని స్థితిని అందించింది. 0 అంటే ఫంక్షన్ అనుకున్నట్లుగా పని చేస్తుందని, ఏదైనా ఇతర విలువ – లోపం ఉందని అర్థం : ఈ విలువ ఎర్రర్ కోడ్. - కానీ ఈ విధానం ప్రతికూలతను కలిగి ఉంది. ప్రతి (!) ఫంక్షన్ కాల్ తర్వాత మీరు ఫంక్షన్ ద్వారా అందించబడిన కోడ్ (నంబర్)ని తనిఖీ చేయాలి. మొదట, ఇది అసౌకర్యంగా ఉంది: లోపం-నిర్వహణ కోడ్ చాలా అరుదుగా అమలు చేయబడింది, కానీ మీరు దీన్ని ఎల్లప్పుడూ వ్రాయవలసి ఉంటుంది. రెండవది, విధులు తరచుగా వేర్వేరు విలువలను అందిస్తాయి - వాటితో ఏమి చేయాలి? - అవును. నేను అడగబోయేది అదే. - అప్పుడు ఉజ్వల భవిష్యత్తు వచ్చింది - మినహాయింపులు మరియు లోపం-నిర్వహణ కనిపించాయి. ఇది ఎలా పని చేస్తుందో ఇక్కడ ఉంది:
  1. లోపం సంభవించినప్పుడు, జావా వర్చువల్ మెషీన్ ఒక ప్రత్యేక వస్తువును సృష్టిస్తుంది - మినహాయింపు - లోపం గురించిన మొత్తం సమాచారాన్ని కలిగి ఉంటుంది. వివిధ లోపాల కోసం వివిధ మినహాయింపులు ఉన్నాయి.
  2. ఈ మినహాయింపు ప్రోగ్రామ్‌ను ప్రస్తుత ఫంక్షన్‌కు తక్షణమే అంతరాయం కలిగించేలా బలవంతం చేస్తుంది మరియు తదుపరి ఫంక్షన్ ప్రధాన పద్ధతి నుండి నిష్క్రమించే వరకు. ఆ తర్వాత కార్యక్రమం ముగుస్తుంది. జావా డెవలపర్లు ఈ ప్రక్రియను "కాల్ స్టాక్‌ను వెనక్కి తీసుకుంటారు" అని పిలుస్తారు.
- కానీ ప్రోగ్రామ్ ఖచ్చితంగా నిష్క్రమించదని మీరు చెప్పారు. - అది నిజం, ఎందుకంటే మినహాయింపును పట్టుకోవడానికి ఒక మార్గం ఉంది. మీకు అవసరమైనప్పుడు మరియు ఎక్కడైనా, మీరు ఈ మినహాయింపులను పట్టుకోవడానికి మరియు ఏదైనా ముఖ్యమైన పనిని చేయడానికి ప్రత్యేక కోడ్‌ని వ్రాయవచ్చు. - దీన్ని చేయడానికి, ఒక ప్రత్యేక నిర్మాణ ప్రయత్నం-క్యాచ్ ఉంది . ఇది ఎలా పని చేస్తుందో చూడండి: పాత స్థాయి 09 - 6- ఎందుకు «మెథడ్1 కాలింగ్ తర్వాత. ఎప్పటికీ చూపబడదు» స్క్రీన్‌పై ప్రదర్శించబడదా? - మీరు దాని గురించి అడిగినందుకు నేను సంతోషిస్తున్నాను. లైన్ 25 లో, సున్నా ద్వారా విభజన ఉంది. ఇది లోపానికి దారితీస్తుంది - మినహాయింపు. జావా వర్చువల్ మెషీన్ లోపం సమాచారాన్ని కలిగి ఉన్న ఆబ్జెక్ట్ ArithmeticException ను సృష్టించింది. ఈ వస్తువు మినహాయింపు. - పద్ధతి 1() లోపల మినహాయింపు సంభవించింది .దీని ఫలితంగా వెంటనే పద్ధతి రద్దు చేయబడింది. ట్రై-క్యాచ్ బ్లాక్ లేకుంటే, మెయిన్ మెథడ్ రద్దుకు కూడా దారి తీస్తుంది . - ట్రై బ్లాక్ లోపల మినహాయింపు సంభవించినట్లయితే, అది క్యాచ్ బ్లాక్‌లో క్యాచ్ చేయబడుతుంది. బ్లాక్ ట్రైలో మిగిలిన కోడ్ అమలు చేయబడదు, బ్లాక్ క్యాచ్ యొక్క అమలు వెంటనే ప్రారంభమవుతుంది. - నాకు పూర్తిగా అర్థం కాలేదు. - మరో మాటలో చెప్పాలంటే, ఈ కోడ్ ఇలా పనిచేస్తుంది:
  1. ట్రై బ్లాక్ లోపల మినహాయింపు సంభవించినట్లయితే , ఈ బ్లాక్‌లోని కోడ్ ఇకపై అమలు చేయబడదు, కానీ బ్లాక్ క్యాచ్ యొక్క అమలు ప్రారంభమవుతుంది.
  2. మినహాయింపు జరగకపోతే , ప్రయత్నించండి బ్లాక్ చివరి వరకు అమలు చేయబడుతుంది మరియు క్యాచ్ ఎప్పటికీ అమలు చేయబడదు .
- అమ్మో! - ప్రతి మెథడ్ కాల్ తర్వాత మనం పిలవబడే పద్ధతి దానికదే రద్దు చేయబడిందా లేదా మినహాయింపు కారణంగా తనిఖీ చేస్తుందని ఊహించుకోండి. మినహాయింపు ఉన్నట్లయితే, JVM బ్లాక్ క్యాచ్ అందుబాటులో ఉంటే దాన్ని అమలు చేయడం ప్రారంభిస్తుంది మరియు మినహాయింపును క్యాచ్ చేస్తుంది. క్యాచ్ బ్లాక్ లేకపోతే, JVM ప్రస్తుత పద్ధతిని రద్దు చేస్తుంది. అప్పుడు అదే చెక్ ప్రస్తుత పద్ధతి అని పిలువబడే పద్ధతిలో ప్రారంభమవుతుంది. - ఇప్పుడు నేను అర్థం చేసుకున్నాను. - ఫరవాలేదు. - మరియు క్యాచ్ బ్లాక్ లోపల మినహాయింపు ఏమిటి? - అన్ని మినహాయింపులు తరగతి మినహాయింపు నుండి వారసత్వంగా పొందిన తరగతులు. క్యాచ్‌లో దాని తరగతిని పేర్కొనడం ద్వారా మనం వాటిలో దేనినైనా పట్టుకోవచ్చుబ్లాక్, లేదా సాధారణ పేరెంట్ క్లాస్ మినహాయింపును పేర్కొనడం ద్వారా వాటన్నింటినీ ఒకేసారి. అప్పుడు, వేరియబుల్ e నుండి (ఈ వేరియబుల్ మినహాయింపు వస్తువు యొక్క సూచనను నిల్వ చేస్తుంది) మీరు లోపం గురించి అవసరమైన మొత్తం సమాచారాన్ని పొందవచ్చు. - గొప్ప! మరియు నా పద్ధతిలో వేర్వేరు మినహాయింపులు ఉంటే, నేను వాటిని వివిధ మార్గాల్లో నిర్వహించవచ్చా? - మీరు చేయాలి. మీరు దీన్ని ఇలా చేయవచ్చు: - ట్రై బ్లాక్‌లో బహుళ క్యాచ్పాత స్థాయి 09 - 7 బ్లాక్‌లు ఉండవచ్చు , వీటిలో ప్రతి ఒక్కటి దాని రకం మినహాయింపులను క్యాచ్ చేస్తుంది. - ఉమ్ఫ్. సరే, నాకు కాస్త అర్థమైంది. అయితే, నేనే ఇలాంటివి రాయను. అయితే, నేను అలాంటి కోడ్‌ను కలుసుకుంటే నేను భయపడను.

4 ఎల్లీ, రన్‌టైమ్ ఎక్సెప్షన్, త్రోలు

పాత స్థాయి 09 - 8- నేను ఈ రోజు మరొక అంశాన్ని తీసుకురావాలని నిర్ణయించుకున్నాను. జావాలో, అన్ని మినహాయింపులు రెండు రకాలుగా విభజించబడ్డాయి - నియంత్రిత/తనిఖీ మరియు నియంత్రించబడని/తనిఖీ చేయబడలేదు . తనిఖీ చేయబడిన మినహాయింపులు తప్పనిసరిగా క్యాచ్ చేయబడాలి, తనిఖీ చేయనివి క్యాచ్ చేయవచ్చు కానీ అది అవసరం లేదు . - ఉద్దేశపూర్వకంగా కోడ్‌లో మినహాయింపులను విసిరేయడం సాధ్యమేనా? - మీ కోడ్‌లో, మీరు మినహాయింపులను మీరే వేయవచ్చు. మీరు మీ స్వంత మినహాయింపులను కూడా వ్రాయవచ్చు. కానీ మేము తరువాత ఈ రంధ్రంలో లోతుగా చేస్తాము. ఇప్పుడు జావా వర్చువల్ మెషీన్ విసిరిన మినహాయింపులతో ఎలా పని చేయాలో నేర్చుకుందాం. - అలాగే. - ClassNotFoundException మరియు FileNotFoundException మినహాయింపులు ఉంటేఒక పద్ధతిలో విసిరివేయబడతాయి (కనిపిస్తాయి), ప్రోగ్రామర్ వాటిని ఒక పద్ధతి (పద్ధతి శీర్షిక) సంతకంలో పేర్కొనాలి. అటువంటి మినహాయింపులు తనిఖీ చేయబడతాయి. ఇది సాధారణంగా ఇలా కనిపిస్తుంది: పాత స్థాయి 09 - 9- కాబట్టి, మేము కామాలతో వేరు చేయబడిన త్రోలు మరియు జాబితా మినహాయింపులను వ్రాస్తాము. సరియైనదా? అవునా? - అవును. అయితే ఇంకో ఆసక్తికరమైన విషయం కూడా ఉంది. దిగువ ఉదాహరణ సంకలనం చేయబడే క్రమంలో, method1() ని పిలిచే పద్ధతి ఈ మినహాయింపులను పట్టుకోవాలి లేదా వాటిని ముందుకు విసిరేయాలి. మీరు తనిఖీ చేసిన మినహాయింపును ముందుకు వేయాలనుకుంటే, మీరు దానిని పద్ధతి యొక్క హెడర్‌లో పేర్కొనాలి . - మరోసారి, ప్రధాన పద్ధతిలో ఉంటే, మీరు దాని హెడర్ పదబంధంలో FileNotFoundException విసిరే పద్ధతిని కాల్ చేయాలనుకుంటే , …అప్పుడు మీరు ఈ రెండు పనులలో ఒకదాన్ని చేయాలి:
  1. మినహాయింపులను పట్టుకోవడానికి FileNotFoundException, … మీరు ట్రై-క్యాచ్ బ్లాక్‌తో
    ప్రమాదకరమైన పద్ధతిని పిలిచే కోడ్‌ను చుట్టాలి
  2. మినహాయింపులను పట్టుకోవద్దు FileNotFoundException, …
మీరు ఈ మినహాయింపులను మీ మెయిన్ మెథడ్ త్రోల జాబితాకు జోడించాలి . - మీరు నాకు ఒక ఉదాహరణ ఇస్తారా? - ఇక్కడ చూడండి: - ఈ ఉదాహరణ సంకలనం చేయబడదు, ఎందుకంటే మెథడ్ మెయిన్ మెథడ్ మెథడ్1() అని పిలుస్తుంది, ఇది తప్పనిసరిగా క్యాచ్ చేయవలసిన మినహాయింపులను విసురుతుంది. - ఉదాహరణను సంకలనం చేయడానికి, మీరు మెయిన్ మెథడ్‌కి మినహాయింపు నిర్వహణను జోడించాలి . మీరు దీన్ని రెండు విధాలుగా చేయవచ్చు: - మరియు ఇక్కడ మేము దీనిని ట్రై-క్యాచ్ ఉపయోగించి క్యాచ్ చేసాము : - ఇది స్పష్టంగా ఉంది, కానీ చాలా తక్కువగా ఉంది. - దిగువ ఉదాహరణను పరిశీలించండి: - ఇప్పటికీ మినహాయింపు ఉంది - రన్‌టైమ్ మినహాయింపు మరియు తరగతులు దాని నుండి వారసత్వంగా పొందబడ్డాయి.పాత స్థాయి 09 - 10పాత స్థాయి 09 - 11పాత స్థాయి 09 - 12పాత స్థాయి 09 - 13వాటిని పట్టుకోవడం లేదా విసిరేయడం అవసరం లేదు. ఇవి తనిఖీ చేయని మినహాయింపులు. ఈ మినహాయింపులు ఊహించడం కష్టంగా పరిగణించబడతాయి, కాబట్టి వాటి సంభవించడాన్ని అంచనా వేయడం దాదాపు అసాధ్యం. మీరు వారితో అవే పనులు చేయవచ్చు, కానీ వాటిని త్రోలలో పేర్కొనవలసిన అవసరం లేదు .

5 రిషా, కాల్ స్టాక్‌ను రోలింగ్ చేయడం, మినహాయింపులలో దీన్ని ఎలా చేయాలి

- మినహాయింపులు ఎలా పనిచేస్తాయనే దాని గురించి నేను మీకు కొంచెం ఎక్కువ చెప్పాలనుకుంటున్నాను. దిగువ ఉదాహరణ ఇలా వివరిస్తుంది: పాత స్థాయి 09 - 14- నాకు అర్థం కాలేదు. - అలాగే. నేను ఏమి జరుగుతుందో వివరిస్తాను. - ఎడమవైపు ఉన్న ఉదాహరణలో, మేము గొలుసు క్రమంలో అనేక పద్ధతులను పిలుస్తాము. method2() లో మేము ప్రత్యేకంగా ఒక మినహాయింపును సృష్టించి, విసిరేస్తాము (లోపాన్ని ప్రారంభించడానికి). - కుడివైపున ఉన్న ఉదాహరణ ఏమి జరుగుతుందో చూపిస్తుంది. పద్ధతి 2 () చూడండి . మినహాయింపు యొక్క సృష్టి ఇలా మారుతుంది: మేము RuntimeException రకం యొక్క ఆబ్జెక్ట్‌ను సృష్టిస్తాము , దానిని ప్రత్యేక వేరియబుల్ మినహాయింపులో నిల్వ చేస్తాము మరియు వెంటనే పద్ధతి నుండి నిష్క్రమించండి – తిరిగి . - method1 లో, method2 యొక్క కాల్ తర్వాత ఒక చెక్ ఉంది,మినహాయింపు ఉంటే లేదా; మినహాయింపు ఉంటే, పద్ధతి1 వెంటనే ముగుస్తుంది. ప్రతి (!) జావా పద్ధతికి కాల్ చేసిన తర్వాత ఈ చెక్ పరోక్షంగా చేయబడుతుంది. - వావ్! - సరిగ్గా. - మెథడ్ మెయిన్‌లో కుడి వైపున ఉన్న కాలమ్‌లో ట్రై-క్యాచ్ బ్లాక్ ద్వారా మినహాయింపు క్యాచ్ అయినప్పుడు ఏమి జరుగుతుందో నేను వ్రాసాను . మినహాయింపు లేనట్లయితే, కోడ్ ప్రణాళికాబద్ధంగా అమలు చేయబడుతోంది. క్యాచ్‌లో పేర్కొన్న రకానికి మినహాయింపు ఉంటే , మేము దానిని నిర్వహిస్తాము. - మరియు త్రో మరియు ఉదాహరణ అంటే ఏమిటి? - ఎడమవైపు ఉన్న చివరి పంక్తిని చూడండి కొత్త రన్‌టైమ్ మినహాయింపు(లు). ఈ విధంగా మేము ఒక మినహాయింపును సృష్టించి, విసిరేస్తాము. ఇది ఒక ఉదాహరణ మాత్రమే. మేము ఇప్పటివరకు చేయము. - కుడి బ్లాక్‌లో « а instanceof B » కమాండ్‌ని ఉపయోగించి ఆబ్జెక్ట్ a రకం B ఉందో లేదో తనిఖీ చేస్తాము . అంటే, వేరియబుల్ మినహాయింపులో నిల్వ చేయబడిన ఆబ్జెక్ట్ RuntimeException అనే రకాన్ని కలిగి ఉందా . ఇది తార్కిక వ్యక్తీకరణ. - బాగా, ఇది కొంచెం స్పష్టంగా ఉంది.

6 డియెగో, మినహాయింపు క్యాచ్ టాస్క్

- ఇక్కడ చూడండి! అంకుల్ డియెగో మీ కోసం పట్టుకోవడంలో కొన్ని టాస్క్‌లను తీసుకువచ్చారు. మీకు అదృష్టం కావాలి. మీకు ఇది అవసరమని నేను భావిస్తున్నాను. హే. పాత స్థాయి 09 - 15- హే, అమిగో! ఇక్కడ కొన్ని ఆసక్తికరమైన మినహాయింపు క్యాచ్ టాస్క్‌లు ఉన్నాయి.
పనులు పట్టుకోవడం
1 1. సంఖ్యలతో పనిచేసేటప్పుడు మినహాయింపు
కోడ్‌ను అమలు చేసినప్పుడు సంభవించే మినహాయింపును క్యాచ్ చేయండి:
int a = 42 / 0;
మినహాయింపును స్క్రీన్‌పై ప్రదర్శించండి, దాని రకాన్ని పేర్కొంటుంది
2 2. స్ట్రింగ్స్‌తో పనిచేసేటప్పుడు మినహాయింపు
కోడ్‌ను అమలు చేసినప్పుడు సంభవించే మినహాయింపును క్యాచ్ చేయండి:
స్ట్రింగ్ s = శూన్య;
స్ట్రింగ్ m = s.toLowerCase();
మినహాయింపును స్క్రీన్‌పై ప్రదర్శించండి, దాని రకాన్ని పేర్కొంటుంది.
3 3. శ్రేణులతో పనిచేసేటప్పుడు మినహాయింపు
కోడ్‌ను అమలు చేసినప్పుడు సంభవించే మినహాయింపును క్యాచ్ చేయండి:
int[] m = new int[2];
m[8] = 5;
మినహాయింపును స్క్రీన్‌పై ప్రదర్శించండి, దాని రకాన్ని పేర్కొంటుంది.
4 4. జాబితా సేకరణలతో పనిచేసేటప్పుడు
మినహాయింపు కోడ్‌ను అమలు చేసినప్పుడు సంభవించే మినహాయింపును క్యాచ్ చేయండి:
ArrayList<String> list = కొత్త ArrayList<String>();
స్ట్రింగ్ s = list.get(18);
మినహాయింపును స్క్రీన్‌పై ప్రదర్శించండి, దాని రకాన్ని పేర్కొంటుంది.
5 5. మ్యాప్ సేకరణలతో పనిచేసేటప్పుడు మినహాయింపు
కోడ్‌ను అమలు చేసినప్పుడు సంభవించే మినహాయింపును క్యాచ్ చేయండి:
HashMap<String, String> map = కొత్త HashMap<String, String>(శూన్య);
map.put(శూన్య, శూన్య);
map.remove(శూన్యం);
మినహాయింపును స్క్రీన్‌పై ప్రదర్శించండి, దాని రకాన్ని పేర్కొంటుంది.
- చిట్కా: ముందుగా ప్రోగ్రామ్‌ను వ్రాసి, ఆపై ఏ మినహాయింపు వస్తుందో చూడండి మరియు ఆ తర్వాత కోడ్‌ను మార్చండి మరియు ఆ మినహాయింపును పట్టుకోండి.

7 రిషా, మల్టిపుల్ క్యాచ్ ఎలా పనిచేస్తుంది

పాత స్థాయి 09 - 16- ఇప్పుడు, మరికొన్ని ఆసక్తికరమైన ఉపన్యాసాలు. నాకు టీచింగ్ అంటే చాలా ఇష్టం. - మల్టిపుల్ క్యాచ్ ఎలా పనిచేస్తుందో నేను మీకు చెప్పాలనుకుంటున్నాను . వాస్తవానికి ఇది చాలా సులభం: బ్లాక్ ట్రైలో మినహాయింపు సంభవించినప్పుడు , ప్రోగ్రామ్ అమలు మొదటి క్యాచ్‌కు బదిలీ చేయబడుతుంది . - బ్లాక్ క్యాచ్ యొక్క కుండలీకరణాల్లో పేర్కొన్న రకం మినహాయింపు-వస్తువు రకం వలె ఉంటే, అప్పుడు కోడ్ అమలు {} లోపల ప్రారంభమవుతుంది. లేకపోతే మేము తదుపరి క్యాచ్‌కి వెళ్తాము . తనిఖీ అక్కడ పునరావృతమవుతుంది. - ఎక్కువ క్యాచ్ బ్లాక్‌లు లేనట్లయితే , మినహాయింపు క్యాచ్ చేయబడకపోతే, అది ముందుకు విసిరివేయబడుతుంది మరియు ప్రస్తుత పద్ధతికి అంతరాయం ఏర్పడుతుంది. - అలాగా. ఆ క్యాచ్ అమలు చేయబడుతుంది, దాని రకం మినహాయింపు రకానికి సరిపోలుతుంది. - అవును నిజమే. వాస్తవానికి, ఇది కొంచెం క్లిష్టంగా ఉంటుంది: పాయింట్ ఏమిటంటే తరగతులు ఒకదానికొకటి వారసత్వంగా పొందవచ్చు. "ఆవు" తరగతి "జంతువు" నుండి వారసత్వంగా వచ్చినట్లయితే, "ఆవు" రకం యొక్క వస్తువు "ఆవు" రకం యొక్క వేరియబుల్‌లో మాత్రమే కాకుండా, "జంతు" రకం యొక్క వేరియబుల్‌లో కూడా నిల్వ చేయబడుతుంది. . - అయితే ఏంటి? - అన్ని మినహాయింపులు మినహాయింపు లేదా రన్‌టైమ్ ఎక్సెప్షన్ (ఇది మినహాయింపు నుండి కూడా వారసత్వంగా పొందబడింది) నుండి వారసత్వంగా పొందబడినందున, అవన్నీ క్యాచ్ (మినహాయింపు ఇ) లేదా క్యాచ్ (రన్‌టైమ్ ఎక్సెప్షన్ ఇ) కమాండ్‌లను ఉపయోగించి క్యాచ్ చేయబడవచ్చు . - అయితే ఏంటి? - దీని అర్థం,ముందుగా, మీరు క్యాచ్ (మినహాయింపు ఇ) కమాండ్ ఉపయోగించి ఏదైనా మినహాయింపును పొందవచ్చు . రెండవది, క్యాచ్ బ్లాక్‌ల క్రమం ముఖ్యమైనది. ఉదాహరణలు: - 0 ద్వారా విభజన ఫలితంగా వచ్చే అంకగణిత మినహాయింపు రెండవ క్యాచ్‌లో క్యాచ్ చేయబడింది. పాత స్థాయి 09 - 17- దిగువ ఉదాహరణలో, మొదటి క్యాచ్‌లో ArithmeticException క్యాచ్ చేయబడింది , ఎందుకంటే అన్ని మినహాయింపుల తరగతులు మినహాయింపు నుండి వారసత్వంగా పొందబడతాయి. కాబట్టి, మినహాయింపు ఏదైనా మినహాయింపును పొందుతుంది . - దిగువ ఉదాహరణలో, మినహాయింపు ArithmeticException క్యాచ్ కాలేదు, కానీ కాలింగ్ పద్ధతికి ముందుకు విసిరివేయబడింది. - సరే, ఇది ఇప్పుడు స్పష్టమవుతోంది. ఈ మినహాయింపులు అంత సులభం కాదు.పాత స్థాయి 09 - 18పాత స్థాయి 09 - 19 - ఇది మాత్రమే అనిపిస్తుంది. నిజానికి, ఇది జావాలో సరళమైన వాటిలో ఒకటి. - దాని గురించి సంతోషించాలా లేదా కలత చెందాలా అనే సందేహం నాకు ఉంది…

8 డియెగో, మల్టిపుల్ ఎక్సెప్షన్ క్యాచ్ టాస్క్‌లు

- హే, అమిగో! నిన్న నేను త్రాగి మీ పనులను చాలా క్లిష్టతరం చేసాను, కానీ మీ వైపు నుండి ఎటువంటి కఠినమైన భావాలు లేవని నేను ఆశిస్తున్నాను మరియు మీరు వాటన్నింటినీ పరిష్కరిస్తారా? ఇది మీ మంచి కోసమే. ఇక్కడ:
పనులు
1 1. మినహాయింపులు మినహాయింపు
నుండి వారసత్వంగా పొందిన రెండు మినహాయింపులను విసిరే పద్ధతి ఉంది మరియు మిగిలిన రెండు RuntimeException నుండి వారసత్వంగా పొందబడ్డాయి : NullPointerException , ArithmeticException , FileNotFoundException , మరియు URISyntaxException . మీరు NullPointerException మరియు FileNotFoundExceptionని పట్టుకోవాలి , కానీ ArithmeticException మరియు URISyntaxExceptionని పట్టుకోకూడదు . ఇది ఎలా చెయ్యాలి?

2 2. క్యాచింగ్ మినహాయింపులు మినహాయింపు
నుండి వరుసగా మూడు మినహాయింపులు ఉన్నాయి : class Exception1 పొడిగిస్తుంది మినహాయింపు తరగతి మినహాయింపు2 పొడిగిస్తుంది మినహాయింపు1 తరగతి మినహాయింపు3 పొడిగిస్తుంది మినహాయింపు2 ఒక పద్ధతి ఉంది, ఇది క్రింది విధంగా వివరించబడింది: పబ్లిక్ స్టాటిక్ శూన్య పద్ధతి1() త్రోలు మినహాయింపు1, మినహాయింపు2, మినహాయింపు3 క్యాచ్‌ను వ్రాయండి మినహాయింపు 1 , మినహాయింపు 2 మరియు మినహాయింపు 3 మూడింటిని పట్టుకోవడానికి బ్లాక్ చేయండి






3 3. ఎంపిక చేసిన మినహాయింపులను పట్టుకోవడం 1. BEAN.methodThrowExceptions
పద్ధతి ద్వారా ఏ మినహాయింపులు ఇవ్వబడతాయో కనుగొనండి . 2. మెథడ్ processExceptions() పద్ధతిని BEAN.methodThrowExceptions అని పిలుస్తుంది మరియు మినహాయింపులను నిర్వహించాలి: 2.1. ఒక మినహాయింపు FileSystemException సంభవించినట్లయితే, BEAN.log పద్ధతిని కాల్ చేయడం ద్వారా దాన్ని లాగ్ చేయండి మరియు ముందుకు 2.2ని విసిరేయండి. మినహాయింపు CharConversionException లేదా ఏదైనా ఇతర IOException సంభవించినట్లయితే, BEAN.log 3 పద్ధతికి కాల్ చేయడం ద్వారా దాన్ని లాగ్ చేయండి. మీరు 2.1లో ఫార్వార్డ్ చేస్తున్న మినహాయింపు యొక్క తరగతి/రకాన్ని జోడించండి. ప్రక్రియ మినహాయింపులు()



పద్ధతి సంతకం.
4. మెయిన్()లో మిగిలిన మినహాయింపును నిర్వహించండి మరియు దానిని లాగ్ చేయండి. ప్రయత్నించండి..క్యాచ్ చిట్కా: మీరు క్యాచ్ చేయకూడదనుకున్న మినహాయింపు MyExceptionని మీరు పట్టుకున్నట్లయితే , మీరు దానిని క్రింది కోడ్‌ని ఉపయోగించి ముందుకు త్రోయవచ్చు: క్యాచ్ (MyException ఇ) { త్రో ఇ; }






4 4. తనిఖీ చేయబడిన మినహాయింపులను క్యాచ్ చేయడం
పద్ధతి processExceptions() లో తనిఖీ చేయబడిన అన్ని మినహాయింపులను నిర్వహించండి .
మీరు తనిఖీ చేసిన ప్రతి మినహాయింపును స్క్రీన్‌పై ప్రదర్శించాలి. మీరు ఒక బ్లాక్ ప్రయత్నాన్ని
మాత్రమే ఉపయోగించవచ్చు .
5 5. ఎంపిక చేయని మినహాయింపులను క్యాచ్ చేయడం
విధానం processExceptions() లో ఎంపిక చేయని అన్ని మినహాయింపులను నిర్వహించండి . మీరు ప్రింట్‌స్టాక్()
పద్ధతిని ఉపయోగించి సంభవించిన ప్రతి మినహాయింపు యొక్క స్టాక్ ట్రేస్‌ను స్క్రీన్‌పై ప్రదర్శించాలి . మీరు ఒక బ్లాక్ ప్రయత్నాన్ని మాత్రమే ఉపయోగించవచ్చు .

9 ప్రొఫెసర్, మినహాయింపులపై ఉపన్యాసం

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

10 జూలియో

- అమిగో, నేటి పాఠం గురించి మీరు ఏమనుకుంటున్నారు? మీ పాజిట్రాన్ మెదడు ఇంకా పని చేయలేదా? డియెగో యొక్క పనులు ఎవరినైనా ధరించడానికి సరిపోతాయి. ఒక్కసారి బీర్ తాగి రిలాక్స్ అవుదాం. మీరు ఇంకా నిలబడి ఉన్నారా?

11 కెప్టెన్ ఉడుతలు

- హలో, సైనికుడు! - శుభోదయం అయ్యా! - మీ కోసం నా దగ్గర కొన్ని అద్భుతమైన వార్తలు ఉన్నాయి. మీ నైపుణ్యాలను బలోపేతం చేయడానికి ఇక్కడ శీఘ్ర తనిఖీ ఉంది. ప్రతిరోజూ దీన్ని చేయండి మరియు మీరు మీ నైపుణ్యాలను త్వరగా పెంచుకుంటారు. Intellij IDEAలో టాస్క్‌లు ప్రత్యేకంగా రూపొందించబడ్డాయి.
Intellij Ideaలో చేయవలసిన అదనపు పనులు
1 1. సున్నా ద్వారా భాగహారం
ఒక పద్ధతిని సృష్టించండి పబ్లిక్ స్టాటిక్ శూన్య డివిజన్ ByZero() , ఇక్కడ మీరు ఏదైనా సంఖ్యను సున్నాతో విభజించి, విభజన ఫలితాన్ని స్క్రీన్‌పై ప్రదర్శించాలి. డివిజన్‌బైజీరో() పద్ధతి కాల్‌ని ప్రయత్నించండి..క్యాచ్
చేయండి . Exception.printStackTrace() పద్ధతిని ఉపయోగించి మినహాయింపు స్టాక్ ట్రేస్‌ను స్క్రీన్‌కు ప్రదర్శించండి .
2 2. 10 నుండి 0 వరకు కౌంట్‌డౌన్
10 నుండి 0 వరకు కౌంట్‌డౌన్‌కు లూప్‌ను వ్రాయండి. ఆలస్యం చేయడానికి Thread.sleep(100)ని ఉపయోగించండి; స్లీప్ కాల్‌ని ప్రయత్నించండి..క్యాచ్
చేయండి .
3 3. ఒక పద్ధతిని ప్రయత్నించండి..కీబోర్డ్
నుండి రీడ్ నంబర్‌లను క్యాచ్ చేయండి. కీబోర్డ్ నుండి సంఖ్యలను చదవడానికి ఒక కోడ్‌ను ప్రత్యేక పద్ధతిలో readData() వ్రాయండి . ఈ పద్ధతి యొక్క మొత్తం బాడీని ( రీడ్‌డేటా()
పద్ధతిలోని మొత్తం కోడ్ , సంఖ్యలు నిల్వ చేయబడే జాబితా యొక్క ప్రకటన మినహా) ప్రయత్నించండి..క్యాచ్ . వినియోగదారు సంఖ్యను నమోదు చేయడానికి బదులుగా కొంత వచనాన్ని నమోదు చేస్తే, పద్ధతి మినహాయింపును గుర్తించి, ముందు నమోదు చేసిన అన్ని సంఖ్యలను స్క్రీన్‌పై ప్రదర్శించాలి. స్క్రీన్‌పై సంఖ్యలను ప్రదర్శించండి. ప్రతి సంఖ్య కొత్త లైన్‌లో ఉండాలి. సంఖ్యల క్రమం ఇన్‌పుట్‌లో ఉన్నట్లుగానే ఉండాలి.


4 4. తేదీ కన్వర్టర్
"08/18/2013" ఫార్మాట్‌లో కీబోర్డ్ నుండి తేదీని చదవండి,
ఆ తేదీని స్క్రీన్‌పై ప్రదర్శించండి "AUG 18, 2013" రూపంలో.
వస్తువులు తేదీ మరియు SimpleDateFormat ఉపయోగించండి .
5 5. అచ్చులు మరియు హల్లులు
కీబోర్డ్ నుండి లైన్ చదివే ప్రోగ్రామ్‌ను వ్రాయండి.
ప్రోగ్రామ్ స్క్రీన్‌పై రెండు స్ట్రింగ్‌లను ప్రదర్శించాలి:
1) మొదటి స్ట్రింగ్‌లో అచ్చులు ఉండాలి
2) రెండవ స్ట్రింగ్ ఎంటర్ చేసిన టెక్స్ట్ నుండి హల్లులు మరియు విరామ చిహ్నాలను కలిగి ఉండాలి.
ఖాళీల వారీగా అక్షరాలను వేరు చేయండి.

ఉదాహరణ ఇన్‌పుట్:
ఆపు లుక్ వినండి
ఉదాహరణ అవుట్‌పుట్:
oooie
stplklstn
6 6. ది టేల్ ఆఫ్ ది లిటిల్ రెడ్ రైడింగ్ హుడ్
1. ఐదు తరగతులు ఉన్నాయి: రెడ్ రైడింగ్ హుడ్, అమ్మమ్మ, ప్యాటీ, వుడ్‌కటర్, తోడేలు. 2. ప్రతి తరగతికి అర్రేలిస్ట్
రకానికి చెందిన రెండు ఫీల్డ్‌లు ఉన్నాయి : చంపబడినవి మరియు తిన్నవి. 3. అవసరమైన వస్తువులు ఇప్పటికే సృష్టించబడ్డాయి (హుడ్, అమ్మమ్మ, ...). 4. "లిటిల్ రెడ్ రైడింగ్ హుడ్" యొక్క తర్కాన్ని పొందడానికి సరైన సంబంధాన్ని (ఎవరు తిన్నారు మరియు చంపారు) సృష్టించండి.

7 7. మూవ్ స్టాటిక్ మోడిఫైలు
మూవ్ స్టాటిక్ మాడిఫైయర్‌లను కోడ్ కంపైల్ చేస్తుంది.
8 8. సంఖ్యల శ్రేణుల జాబితా
సంఖ్యల శ్రేణుల మూలకాలు ఉన్న జాబితాను సృష్టించండి. వరుసగా 5, 2, 4, 7, 0 పొడవుతో ఐదు ఆబ్జెక్ట్ శ్రేణులను జాబితాకు జోడించండి. ఏదైనా డేటాతో శ్రేణులను పూరించండి మరియు వాటిని స్క్రీన్‌పై ప్రదర్శించండి.
9 9. పది పిల్లులు ఫీల్డ్ స్ట్రింగ్ పేరుతో క్లాస్ క్యాట్‌ను
సృష్టించండి . నిఘంటువు మ్యాప్‌ను సృష్టించండి<String, Cat> , మోడల్ «పేరు» - «పిల్లి»పై 10 పిల్లులను జోడించండి. మ్యాప్ నుండి పేర్ల సమితిని పొందండి మరియు సెట్‌ను స్క్రీన్‌పై ప్రదర్శించండి.

- ఆ పనులు ఆకుకూరల కోసం. నేను అధిక సంక్లిష్టత కలిగిన బోనస్ టాస్క్‌లను జోడించాను. టాప్ గన్స్ కోసం మాత్రమే.
బోనస్ పనులు
1 1. ప్రోగ్రామ్ కంపైల్ మరియు రన్ చేయదు. సరి చేయి.
టాస్క్: ప్రోగ్రామ్ కీబోర్డ్ నుండి రెండు ఫైల్ పేర్లను చదవాలి మరియు మొదటి ఫైల్‌ను రెండవ పేరుతో పేర్కొన్న స్థానానికి కాపీ చేయాలి.
2 2. ప్రోగ్రామ్‌కు కొత్త కార్యాచరణను జోడించండి.
పాత పని: ప్రోగ్రామ్ కీబోర్డ్ నుండి రెండు ఫైల్ పేర్లను చదవాలి మరియు మొదటి ఫైల్‌ను రెండవ పేరుతో పేర్కొన్న స్థానానికి కాపీ చేయాలి.
కొత్త పని: ప్రోగ్రామ్ కీబోర్డ్ నుండి రెండు ఫైల్ పేర్లను చదవాలి మరియు మొదటి ఫైల్‌ను రెండవ పేరుతో పేర్కొన్న స్థానానికి కాపీ చేయాలి.

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

ఉదాహరణ ఇన్‌పుట్:
చెర్రీ
1
బీన్
3
ఆపిల్
2
0
పుచ్చకాయ

ఉదాహరణ అవుట్‌పుట్:
ఆపిల్
3
బీన్
2
చెర్రీ
1
0
పుచ్చకాయ
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION