அறிவு எதிராக திறன்கள்
கோட்பாட்டிற்கும் நடைமுறைக்கும் பெரிய வித்தியாசம் இல்லை என்பதை கல்லூரி நமக்குக் கற்றுக் கொடுத்தது. சரி, நிச்சயமாக அது ஒன்றல்ல என்பதை நீங்கள் புரிந்துகொள்கிறீர்கள். ஆனால் நீங்கள் அடிப்படை வேறுபாட்டைக் காணவில்லை. இன்னும் ஒன்று இருக்கிறது. பெரும்பாலான மக்கள் "எனக்குத் தெரியும்" மற்றும் "என்னால் முடியும்" இடையே சமத்துவ அடையாளத்தை வைக்கிறார்கள். நீங்கள்? சில உதாரணங்கள் எப்படி?- புகைபிடிப்பது எனக்கு மோசமானது என்று எனக்குத் தெரியும், ஆனால் நான் புகைபிடிப்பேன்.
- துரித உணவு எனக்கு மோசமானது என்று எனக்குத் தெரியும், ஆனால் நான் அதை சாப்பிடுகிறேன்.
- எனக்கு போக்குவரத்து விதிமுறைகள் தெரியும் ஆனால் என்னால் வாகனம் ஓட்ட முடியாது.
- ஜாகிங் எனக்கு நல்லது என்று எனக்குத் தெரியும், ஆனால் நான் காலையில் ஜாகிங் செய்வதில்லை.
நீங்கள் ஒரு புதிய நிலையை அடைந்துவிட்டீர்கள்
நிலை 9
1 ரிஷா, ஸ்டேக் ட்ரேஸ்
- ஏய்! ஸ்டாக் ட்ரேஸ் என்ன என்பதை இன்று நான் உங்களுக்கு சொல்கிறேன். ஆனால் முதலில் ஸ்டாக் என்றால் என்ன என்பதை விளக்குகிறேன். - காகிதங்களின் அடுக்கை கற்பனை செய்து பாருங்கள் - ஒரு குறிப்பிட்ட எழுத்தருக்கான பணிகள். ஒரு புதிய வேலையை அடுக்கின் மேல் வைக்கலாம், மேலும் அவர் ஒரு அடுக்கின் மேல் இருந்து ஒரு வேலையை எடுப்பார். எனவே, பணிகள் முதலில் வருபவர்களுக்கு வழங்கப்படாது. ஒவ்வொரு முறையும் எழுத்தர் கடைசியாக வரும் வேலையை எடுக்கிறார். அத்தகைய சேகரிப்பு அமைப்பு அடுக்கு என்று அழைக்கப்படுகிறது . - ஜாவாவில், ஒரு சிறப்பு தொகுப்பு உள்ளது - ஸ்டேக். இந்தத் தொகுப்பில் "ஒரு உறுப்பைச் சேர்" மற்றும் "ஒரு உறுப்பை எடுத்துக்கொள்(எடுத்து/எடுத்து)" முறைகள் உள்ளன. உங்களுக்கு ஏற்கனவே தெரியும், கடைசியாக சேர்க்கப்பட்ட உறுப்பு முதலில் எடுக்கப்படும். - ஹம். இது கடினம் அல்ல, நான் நினைக்கிறேன். - சரி. பிறகு என்ன ஒரு ஸ்டாக் ட்ரேஸ் என்பதை விளக்குகிறேன்இருக்கிறது. - ஜாவா செயல்பாட்டில் А செயல்பாடு B ஐ அழைக்கிறது என்று கற்பனை செய்து பாருங்கள் , பிந்தையது செயல்பாடு C ஐ அழைக்கிறது , இது செயல்பாடு D ஐ அழைக்கிறது . எனவே, செயல்பாடு B லிருந்து வெளியேற , நீங்கள் முதலில் C செயல்பாட்டிலிருந்து வெளியேற வேண்டும் , அவ்வாறு செய்ய நீங்கள் D செயல்பாட்டிலிருந்து வெளியேற வேண்டும் . இது ஒரு அடுக்குக்கு மிகவும் ஒத்திருக்கிறது. - மற்றும் ஒற்றுமை என்ன? - அடுக்கில், ஒரு குறிப்பிட்ட வேலையைப் பெற, நீங்கள் மேலே உள்ள அனைத்து பணிகளையும் முடிக்க வேண்டும். - சரி, இது ஒரு ஒப்புமைதான், ஆனால் நான் எல்லாவற்றையும் சரியாகப் புரிந்துகொண்டேனா என்று எனக்குத் தெரியவில்லை. - இங்கே பாருங்கள். ஜாவாவில் அடுக்கு என்பது தனிமங்களின் தொகுப்பாகும். இது ஒரு அடுக்கில் உள்ள காகிதத் தாள்களைப் போன்றது. மேலே இருந்து மூன்றாவது எடுக்க, நீங்கள் இரண்டாவது தாளை எடுக்க வேண்டும், ஆனால் அதற்கு முன் நீங்கள் முதல் ஒன்றை எடுக்க வேண்டும். நீங்கள் எப்போதும் தாள்களை வைக்கலாம் மற்றும் எடுக்கலாம், ஆனால் நீங்கள் அவற்றை மேலே மட்டுமே வைக்கலாம் மற்றும் மேலே இருந்து மட்டுமே எடுக்கலாம். செயல்பாட்டு அழைப்புக்கும் இது பொருந்தும். செயல்பாடு А அழைப்பு செயல்பாடு B , பிந்தைய அழைப்பு செயல்பாடு C . А இலிருந்து வெளியேற , நீங்கள் முதலில் B இலிருந்து வெளியேற வேண்டும் , இதைச் செய்ய நீங்கள் C இலிருந்து வெளியேற வேண்டும் . - ஒரு நிமிடம். நான் அதைச் சரியாகப் புரிந்து கொண்டால், "ஸ்டாக்கில் போடப்பட்ட கடைசி தாளை மட்டுமே எடுக்க முடியும்" மற்றும் "முதலில், கடைசியாக அழைக்கப்பட்ட செயல்பாடு வெளியேற வேண்டும்" என்பதில் முழு ஸ்டாக்கும் மாறிவிடும். அப்படியா? - ஆம். எனவே, செயல்பாட்டு அழைப்புகளின் வரிசையானது "செயல்பாட்டு அழைப்பு அடுக்கு" அல்லது வெறுமனே "அழைப்பு அடுக்கு" ஆகும். கடைசியாக அழைக்கப்படும் செயல்பாடு முதலில் நிறுத்தப்பட வேண்டும். உதாரணத்தைப் பார்ப்போம்: - சரி. செயல்பாடு அழைப்பில் எல்லாம் தெளிவாக உள்ளது, நான் நினைக்கிறேன். ஆனால் இந்த StackTraceElement என்றால் என்ன ? - ஜாவா மெய்நிகர் இயந்திரம் அனைத்து செயல்பாட்டு அழைப்புகளையும் பதிவு செய்கிறது. இந்த நோக்கத்திற்காக இது ஒரு சிறப்பு சேகரிப்பு - ஸ்டாக். ஒரு செயல்பாடு மற்றொன்றை அழைக்கும் போது, JVM ஒரு புதிய உறுப்பு StackTraceElement ஐ இந்த அடுக்கில் வைக்கிறது. செயல்பாடு முடிந்ததும், உறுப்பு அடுக்கிலிருந்து நீக்கப்படும். எனவே, இந்த அடுக்கு எப்போதும் "செயல்பாட்டு அழைப்பு அடுக்கின்" தற்போதைய நிலையைப் பற்றிய புதுப்பித்த தகவலைச் சேமிக்கிறது. - ஒவ்வொரு StackTraceElementஅழைக்கப்படும் முறை பற்றிய தகவல்களைக் கொண்டுள்ளது. எனவே நீங்கள் getMethodName ஐப் பயன்படுத்தி இந்த முறையின் பெயரைப் பெறலாம் . - மேலே உள்ள உதாரணம் அதைக் காட்டுகிறது:- "அழைப்பு அடுக்கு" பெறவும்:
- ஒவ்வொன்றிற்கும் வளையத்தைப் பயன்படுத்தி வரிசையை மீண்டும் செய்யவும் . நீங்கள் அதை மறக்கவில்லை என்று நம்புகிறேன்.
- System.out க்கு முறை பெயர்களை அச்சிடவும் .
2 டியாகோ, டாஸ்க் ஆன் ஸ்டாக் ட்ரேஸ் டிஸ்ப்ளே
- ஏய், அமிகோ! திரையில் ஸ்டாக் ட்ரேஸைக் காண்பிக்க இங்கே ஒரு சிறிய பணி உள்ளது.பணிகள் | |
---|---|
1 | ஒவ்வொரு முறையும் அதன் StackTrace Write ஐ ஒன்றுக்கொன்று அழைக்கும் ஐந்து முறைகளை வழங்க வேண்டும் . ஒவ்வொரு முறையும் அதன் StackTrace ஐ திருப்பி அனுப்ப வேண்டும். |
2 | StackTrace மீண்டும் ஒருவரையொருவர் அழைக்கும் ஐந்து முறைகளை எழுதுங்கள். ஒவ்வொரு முறையும் அதன் அழைப்பாளர் முறையின் பெயரை வழங்க வேண்டும். StackTrace ஐப் பயன்படுத்தி அழைப்பாளர் முறையைப் பெறலாம். |
3 | முறையானது , ஒருவருக்கொருவர் அழைக்கும் ஐந்து முறைகளை எழுது என்பதிலிருந்து இந்த முறை அழைக்கப்பட்ட குறியீட்டின் வரி எண்ணை வழங்க வேண்டும் . ஒவ்வொரு முறையும் இந்த முறை அழைக்கப்பட்ட குறியீட்டின் வரி எண்ணை வழங்க வேண்டும். உறுப்பு.getLineNumber() செயல்பாட்டைப் பயன்படுத்தவும் . |
4 | 10 அழைப்புகளின் ஸ்டேக் ட்ரேஸ் 10 அழைப்புகளின் ஸ்டேக் ட்ரேஸைப் பெற குறியீட்டை எழுதவும். |
5 | இந்த முறை ஒரு முடிவைத் தர வேண்டும் - அதன் ஸ்டாக் ட்ரேஸ் டெப்த் அதன் ஸ்டேக் ட்ரேஸ் டெப்டைக் காண்பிக்கும் மற்றும் திரும்பும் முறையை எழுதவும். ஸ்டேக் டிரேஸ் டெப்த் என்பது அதன் முறைகளின் எண்ணிக்கை (பட்டியலில் உள்ள உறுப்புகளின் எண்ணிக்கை). |
3 எல்லி, பிழைகள் மற்றும் விதிவிலக்குகள்
- ஏய், அமிகோ! இன்று நமக்கு ஒரு சுவாரஸ்யமான பாடம் உள்ளது. விதிவிலக்குகள் பற்றி நான் உங்களுக்கு சொல்கிறேன். விதிவிலக்கு என்பது நிரலில் உள்ள பிழைகளைக் கட்டுப்படுத்துவதற்கான ஒரு சிறப்பு வழிமுறையாகும். நிரலில் ஏற்படக்கூடிய பிழைகளின் சில எடுத்துக்காட்டுகள் இங்கே:- நிரல் ஒரு கோப்பை முழு வட்டில் எழுத முயற்சிக்கிறது.
- நிரல் பூஜ்ய குறிப்பைச் சேமிக்கும் ஒரு மாறியின் முறையை அழைக்க முயற்சிக்கிறது.
- நிரல் ஒரு எண்ணை 0 ஆல் வகுக்க முயற்சிக்கிறது.
- பிழை ஏற்பட்டால், ஜாவா மெய்நிகர் இயந்திரம் ஒரு சிறப்பு பொருளை உருவாக்குகிறது - ஒரு விதிவிலக்கு - பிழை பற்றிய அனைத்து தகவல்களையும் கொண்டுள்ளது. வெவ்வேறு பிழைகளுக்கு வெவ்வேறு விதிவிலக்குகள் உள்ளன.
- இந்த விதிவிலக்கு நிரலை தற்போதைய செயல்பாட்டை உடனடியாக குறுக்கிட கட்டாயப்படுத்துகிறது, மேலும் அடுத்த செயல்பாடு முக்கிய முறையிலிருந்து வெளியேறும் வரை. அதன் பிறகு நிரல் முடிவடைகிறது. ஜாவா டெவலப்பர்கள் இந்த செயல்முறையை "அழைப்பு அடுக்கை திரும்பப் பெறுகிறது" என்று அழைக்கிறார்கள்.
- ட்ரை பிளாக்கிற்குள் விதிவிலக்கு ஏற்பட்டால் , இந்த பிளாக்கில் உள்ள குறியீடு இனி செயல்படுத்தப்படாது, ஆனால் பிளாக் கேட்சை செயல்படுத்துவது தொடங்குகிறது.
- விதிவிலக்கு ஏதும் நிகழவில்லை என்றால் , ட்ரை பிளாக் இறுதி வரை செயல்படுத்தப்படும் , மேலும் கேட்ச் செயல்படுத்தப்படாது .
4 எல்லி, RuntimeException, வீசுகிறார்
- இன்று மற்றொரு தலைப்பைக் கொண்டு வர முடிவு செய்தேன். ஜாவாவில், அனைத்து விதிவிலக்குகளும் இரண்டு வகைகளாகப் பிரிக்கப்படுகின்றன - கட்டுப்படுத்தப்பட்ட/சரிபார்க்கப்பட்ட மற்றும் கட்டுப்படுத்தப்படாத/தணிக்கப்படாத . சரிபார்க்கப்பட்ட விதிவிலக்குகள் பிடிக்கப்பட வேண்டும் , சரிபார்க்கப்படாதவை பிடிக்கப்படலாம் ஆனால் அது தேவையில்லை . - வேண்டுமென்றே ஒரு குறியீட்டில் விதிவிலக்குகளை வீச முடியுமா? - உங்கள் குறியீட்டில், விதிவிலக்குகளை நீங்களே தூக்கி எறியலாம். நீங்கள் உங்கள் சொந்த விதிவிலக்குகளை எழுதலாம். ஆனால் நாம் பின்னர் இந்த துளைக்குள் ஆழமாக இருப்போம். ஜாவா மெய்நிகர் இயந்திரத்தால் எறியப்பட்ட விதிவிலக்குகளுடன் எவ்வாறு செயல்படுவது என்பதை இப்போது கற்றுக்கொள்வோம். - சரி. - விதிவிலக்குகள் ClassNotFoundException மற்றும் FileNotFoundException என்றால்ஒரு முறையில் எறியப்படுகின்றன (தோன்றுகின்றன), புரோகிராமர் அவற்றை ஒரு முறையின் கையொப்பத்தில் (முறை தலைப்பு) குறிப்பிட வேண்டும். அத்தகைய விதிவிலக்குகள் சரிபார்க்கப்படுகின்றன. இது பொதுவாக இப்படித்தான் தோன்றுகிறது: - எனவே, எறிதல்களை எழுதுகிறோம் மற்றும் காற்புள்ளிகளால் பிரிக்கப்பட்ட விதிவிலக்குகளை பட்டியலிடுகிறோம். சரியா? அப்படியா? - ஆம். ஆனால் இன்னொரு சுவாரஸ்யமான விஷயம் இருக்கிறது. கீழே உள்ள எடுத்துக்காட்டு தொகுக்கப்படுவதற்கு, method1() ஐ அழைக்கும் முறையானது இந்த விதிவிலக்குகளைப் பிடிக்க வேண்டும் அல்லது அவற்றை முன்னோக்கி வீச வேண்டும். சரிபார்க்கப்பட்ட விதிவிலக்கை முன்னோக்கி வீச விரும்பினால், அதை முறையின் தலைப்பில் குறிப்பிட வேண்டும் . - மீண்டும் ஒருமுறை, பிரதான முறையில் இருந்தால் , அதன் தலைப்புச் சொற்றொடரில் FileNotFoundException ஐக் கொண்டிருக்கும் ஒரு முறையை நீங்கள் அழைக்க வேண்டும் , …இந்த இரண்டு விஷயங்களில் ஒன்றை நீங்கள் செய்ய வேண்டும்:- விதிவிலக்குகளைப் பிடிக்க FileNotFoundException, … நீங்கள் ஒரு ஆபத்தான முறையை அழைக்கும் குறியீட்டை முயற்சி-பிடிப்பு பிளாக்
மூலம் மடிக்க வேண்டும் - விதிவிலக்குகளைப் பிடிக்க வேண்டாம் FileNotFoundException, …
5 ரிஷா, அழைப்பு அடுக்கை உருட்டுதல், விதிவிலக்குகளில் அதை எப்படி செய்வது
- விதிவிலக்குகள் எவ்வாறு செயல்படுகின்றன என்பதைப் பற்றி இன்னும் கொஞ்சம் சொல்ல விரும்புகிறேன். கீழே உள்ள உதாரணம் இதை விளக்குகிறது: - எனக்கு புரியவில்லை. - சரி. என்ன நடக்கிறது என்பதை நான் விளக்குகிறேன். - இடதுபுறத்தில் உள்ள எடுத்துக்காட்டில், பல முறைகளை சங்கிலி வரிசையில் அழைக்கிறோம். method2() இல் நாம் குறிப்பாக ஒரு விதிவிலக்கை உருவாக்கி வீசுகிறோம் (பிழையைத் தொடங்க). - வலதுபுறத்தில் உள்ள உதாரணம் என்ன நடக்கிறது என்பதைக் காட்டுகிறது. முறை2() ஐப் பாருங்கள் . விதிவிலக்கை உருவாக்குவது இதுதான்: RuntimeException வகையின் ஒரு பொருளை உருவாக்கி, அதை ஒரு சிறப்பு மாறி விதிவிலக்கில் சேமித்து , உடனடியாக முறையிலிருந்து வெளியேறவும் – return . - method1 இல், method2 இன் அழைப்புக்குப் பிறகு ஒரு காசோலை உள்ளது,விதிவிலக்கு இருந்தால் அல்லது இல்லை என்றால்; விதிவிலக்கு இருந்தால், முறை1 உடனடியாக நிறுத்தப்படும். ஒவ்வொரு (!) ஜாவா முறைகளையும் அழைத்த பிறகு இந்த சோதனை மறைமுகமாக செய்யப்படுகிறது. - ஆஹா! - சரியாக. - மெயின் மெயினில் வலதுபுறத்தில் உள்ள நெடுவரிசையில், ட்ரை-கேட்ச் பிளாக் மூலம் விதிவிலக்கு பிடிக்கப்பட்டால் என்ன நடக்கும் என்று எழுதினேன் . விதிவிலக்கு இல்லை என்றால், குறியீடு திட்டமிட்டபடி தொடர்ந்து செயல்படுகிறது. பிடிப்பில் குறிப்பிடப்பட்ட வகைக்கு விதிவிலக்கு இருந்தால் , அதை நாங்கள் கையாளுகிறோம். - மற்றும் வீசுதல் மற்றும் நிகழ்வு என்றால் என்ன? - இடதுபுறத்தில் உள்ள கடைசி வரியைப் பாருங்கள் புதிய இயக்க நேர விதிவிலக்கு(கள்). இந்த வழியில் நாம் ஒரு விதிவிலக்கை உருவாக்கி வீசுகிறோம். இது ஒரு உதாரணம் மட்டுமே. இதுவரை செய்ய மாட்டோம். - வலது பிளாக்கில் « а instanceof B » கட்டளையைப் பயன்படுத்தி, பொருள் a வகை B உள்ளதா என்பதைச் சரிபார்க்கிறோம் . அதாவது, மாறி விதிவிலக்கில் சேமிக்கப்பட்ட பொருள், RuntimeException வகையைக் கொண்டுள்ளது . இது ஒரு தர்க்கரீதியான வெளிப்பாடு. - சரி, அது கொஞ்சம் தெளிவாகிறது.6 டியாகோ, விதிவிலக்கு கேட்ச் டாஸ்க்
- இங்கே பாருங்கள்! மாமா டியாகோ உங்களுக்காகப் பிடிப்பதில் சில பணிகளைக் கொண்டு வந்தார். உங்களுக்கு அதிர்ஷ்டம் வாழ்த்துக்கள். உங்களுக்கு இது தேவைப்படும் என்று நினைக்கிறேன். ஹே. - ஏய், அமிகோ! இங்கே சில சுவாரஸ்யமான விதிவிலக்கு கேட்ச் பணிகள் உள்ளன.பிடிப்பு பணிகள் | |
---|---|
1 | 1. எண்களுடன் செயல்படும் போது விதிவிலக்கு குறியீட்டை இயக்கும்போது ஏற்படும் விதிவிலக்கைப் பிடிக்கவும்: int a = 42 / 0; விதிவிலக்கை திரையில் காட்டவும், அதன் வகையைக் குறிப்பிடவும் |
2 | 2. சரங்களுடன் செயல்படும் போது விதிவிலக்கு குறியீட்டை இயக்கும் போது ஏற்படும் விதிவிலக்கைப் பிடிக்கவும்: சரம் s = பூஜ்யம்; சரம் m = s.toLowerCase(); விதிவிலக்கை திரையில் காட்டவும், அதன் வகையைக் குறிப்பிடவும். |
3 | 3. வரிசைகளுடன் செயல்படும் போது விதிவிலக்கு குறியீட்டை இயக்கும்போது ஏற்படும் விதிவிலக்கைப் பிடிக்கவும்: int[] m = new int[2]; மீ[8] = 5; விதிவிலக்கை திரையில் காட்டவும், அதன் வகையைக் குறிப்பிடவும். |
4 | 4. பட்டியல் சேகரிப்புகளுடன் செயல்படும் போது விதிவிலக்கு குறியீட்டை இயக்கும்போது ஏற்படும் விதிவிலக்கைப் பிடிக்கவும்: ArrayList<String> list = new ArrayList<String>(); சரம் s = list.get(18); விதிவிலக்கை திரையில் காட்டவும், அதன் வகையைக் குறிப்பிடவும். |
5 | 5. வரைபட சேகரிப்புகளுடன் செயல்படும் போது விதிவிலக்கு குறியீட்டை இயக்கும்போது ஏற்படும் விதிவிலக்கைப் பிடிக்கவும்: HashMap<String, String> map = new HashMap<String, String>(null); map.put(பூஜ்ய, பூஜ்ய); map.remove(null); விதிவிலக்கை திரையில் காட்டவும், அதன் வகையைக் குறிப்பிடவும். |
7 ரிஷா, எப்படி பல கேட்ச் வேலைகள்
- இப்போது, இன்னும் சில சுவாரஸ்யமான விரிவுரைகள். எனக்கு கற்பிப்பது மிகவும் பிடிக்கும். - பல கேட்ச் எவ்வாறு செயல்படுகிறது என்பதை நான் உங்களுக்கு சொல்ல விரும்புகிறேன். உண்மையில் இது மிகவும் எளிமையானது: பிளாக் முயற்சியில் விதிவிலக்கு ஏற்பட்டால் , நிரல் செயல்படுத்தல் முதல் கேட்சிற்கு மாற்றப்படும் . - பிளாக் கேட்சின் அடைப்புக்குறிக்குள் குறிப்பிடப்பட்ட வகையும் விதிவிலக்கு-பொருளின் வகையும் ஒன்றாக இருந்தால், குறியீடு செயல்படுத்தல் {} க்குள் தொடங்குகிறது. இல்லையேல் அடுத்த பிடிக்கு செல்கிறோம் . காசோலை அங்கு மீண்டும் செய்யப்படுகிறது. - மேலும் கேட்ச் பிளாக்குகள் இல்லை , ஆனால் விதிவிலக்கு பிடிக்கப்படவில்லை என்றால், அது முன்னோக்கி எறியப்பட்டு, தற்போதைய முறை குறுக்கிடப்படுகிறது. - நான் பார்க்கிறேன். அந்த கேட்ச் செயல்படுத்தப்படும், எந்த வகை விதிவிலக்கு வகைக்கு பொருந்தும். - ஆமாம், சரி. உண்மையில், இது சற்று சிக்கலானது: வகுப்புகள் பரம்பரை பரம்பரையாக இருக்கலாம். "பசு" வகுப்பு "விலங்கு" வகுப்பிலிருந்து மரபுரிமையாக இருந்தால், "பசு" வகையின் பொருள் "பசு" வகையின் மாறியில் மட்டுமல்ல, "விலங்கு" வகையின் மாறியிலும் சேமிக்கப்படும். . - அதனால் என்ன? - அனைத்து விதிவிலக்குகளும் விதிவிலக்கு அல்லது RuntimeException ( விதிவிலக்கு இலிருந்தும் பெறப்பட்டவை ) வகுப்புகளிலிருந்து பெறப்பட்டவை என்பதால் , அவை அனைத்தும் கேட்ச் (விதிவிலக்கு இ) அல்லது கேட்ச் (இயக்க நேர விலக்கு இ) கட்டளைகளைப் பயன்படுத்தி பிடிக்கப்படலாம் . - அதனால் என்ன? - இதற்கு அர்த்தம் அதுதான்,முதலில், நீங்கள் கேட்ச் (விதிவிலக்கு இ) கட்டளையைப் பயன்படுத்தி எந்த விதிவிலக்கையும் பிடிக்கலாம் . இரண்டாவதாக, கேட்ச் பிளாக்குகளின் வரிசை முக்கியமானது. எடுத்துக்காட்டுகள்: - எண்கணிதம் விதிவிலக்கு 0 ஆல் வகுபடுவதன் விளைவாக இரண்டாவது கேட்ச்சில் பிடிக்கப்படுகிறது. - கீழே உள்ள எடுத்துக்காட்டில், முதல் பிடியில் ArithmeticException பிடிக்கப்பட்டது , ஏனெனில் அனைத்து விதிவிலக்குகளின் வகுப்புகளும் விதிவிலக்கிலிருந்து பெறப்படுகின்றன. எனவே, விதிவிலக்கு எந்த விதிவிலக்கையும் பிடிக்கிறது . - கீழே உள்ள எடுத்துக்காட்டில், விதிவிலக்கு ArithmeticException பிடிக்கப்படவில்லை, ஆனால் அழைப்பு முறைக்கு முன்னோக்கி எறியப்பட்டது. - சரி, இப்போது தெளிவாகிறது. இந்த விதிவிலக்குகள் அவ்வளவு எளிதானவை அல்ல. - அது மட்டும் தெரிகிறது. உண்மையில், இது ஜாவாவில் உள்ள எளிய விஷயங்களில் ஒன்றாகும். - இதைப் பற்றி நான் மகிழ்ச்சியடைவதா அல்லது வருத்தப்படுவதா என்பதில் எனக்கு சந்தேகம் உள்ளது ...8 டியாகோ, பல விதிவிலக்கு கேட்ச் பணிகள்
- ஏய், அமிகோ! நேற்று நான் குடிபோதையில் உங்கள் பணிகளை மிகவும் சிக்கலாக்கினேன், ஆனால் உங்கள் பங்கில் கடினமான உணர்வுகள் எதுவும் இல்லை என்று நம்புகிறேன், நீங்கள் அனைத்தையும் தீர்ப்பீர்கள்? அது உங்கள் சொந்த நலனுக்காக. இங்கே:பணிகள் | |
---|---|
1 | 1. விதிவிலக்குகள் விதிவிலக்கிலிருந்து பெறப்பட்ட இரண்டு விதிவிலக்குகளை எறியும் முறை உள்ளது , மற்ற இரண்டு RuntimeException இலிருந்து பெறப்பட்டது : NullPointerException , ArithmeticException , FileNotFoundException , மற்றும் URISyntaxException . நீங்கள் NullPointerException மற்றும் FileNotFoundException ஆகியவற்றைப் பிடிக்க வேண்டும் , ஆனால் ArithmeticException மற்றும் URISyntaxException ஆகியவற்றைப் பிடிக்கக்கூடாது . அதை எப்படி செய்வது? |
2 | 2. கேச்சிங் விதிவிலக்குகள் விதிவிலக்கிலிருந்து வரிசையாக மூன்று விதிவிலக்குகள் உள்ளன _ _ விதிவிலக்கு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. மெயின்() முறையில் மீதமுள்ள விதிவிலக்கைக் கையாண்டு அதை பதிவு செய்யவும். முயற்சிக்கவும் . _ _ _ _ _ _ } |
4 | 4. சரிபார்க்கப்பட்ட விதிவிலக்குகளைப் பிடித்தல் செயல்முறைஎக்செப்ஷன்ஸ்() என்ற முறையில் சரிபார்க்கப்பட்ட அனைத்து விதிவிலக்குகளையும் கையாளவும் . சரிபார்க்கப்பட்ட ஒவ்வொரு விதிவிலக்கையும் நீங்கள் திரையில் காட்ட வேண்டும். நீங்கள் ஒரு தொகுதி முயற்சியை மட்டுமே பயன்படுத்தலாம் . |
5 | 5. தேர்வு செய்யப்படாத விதிவிலக்குகளைப் பிடிப்பது செயல்முறை Exceptions() இல் தேர்வு செய்யப்படாத அனைத்து விதிவிலக்குகளையும் கையாளவும் . printStack() முறையைப் பயன்படுத்தி, ஒவ்வொரு விதிவிலக்கின் ஸ்டாக் தடத்தையும் திரையில் காண்பிக்க வேண்டும் . நீங்கள் ஒரு தொகுதி முயற்சியை மட்டுமே பயன்படுத்தலாம் . |
9 பேராசிரியர், விதிவிலக்குகள் பற்றிய விரிவுரை
- இன்று எங்களிடம் ஒரு சுவாரசியமான தலைப்பு உள்ளது - விதிவிலக்குகள். அந்த நேரத்தில், இளம் விஞ்ஞானிகள் மற்றும் புரோகிராமர்கள் இந்த தலைப்பைப் பற்றி மிகவும் உற்சாகமாக இருந்தபோது… - மன்னிக்கவும், நான் ஆய்வகத்திற்குச் செல்ல வேண்டும். விரிவுரை குறிப்புகள் இங்கே. அதை நீங்களே புரிந்து கொள்வீர்கள் என்று நினைக்கிறேன். இங்கே: ஜாவா விதிவிலக்குகள் (ஆரக்கிள் ஆவணப்படுத்தல்) ஜாவாவில் விதிவிலக்கு கையாளுதல் (ஜாவா டி புள்ளி) ஜாவா - விதிவிலக்குகள் கையாளுதல் (டுடோரியல்கள் புள்ளி) அடிப்படை ஜாவா விதிவிலக்கு கையாளுதல்10 ஜூலியோ
- அமிகோ, இன்றைய பாடத்தைப் பற்றி நீங்கள் என்ன நினைக்கிறீர்கள்? உங்கள் பாசிட்ரான் மூளை இன்னும் வேலை செய்யவில்லையா? டியாகோவின் பணிகள் யாரையும் சோர்வடையச் செய்ய போதுமானவை. பீர் குடித்துவிட்டு ஓய்வெடுப்போம். நீங்கள் இன்னும் நிற்கிறீர்களா?11 கேப்டன் அணில்கள்
- வணக்கம், சிப்பாய்! - காலைவணக்கம் ஐயா! - உங்களுக்காக என்னிடம் சில அற்புதமான செய்திகள் உள்ளன. உங்கள் திறமைகளை வலுப்படுத்த விரைவான சோதனை இங்கே. ஒவ்வொரு நாளும் இதைச் செய்யுங்கள், உங்கள் திறமைகளை விரைவாக மேம்படுத்துவீர்கள். Intellij IDEA இல் பணிகள் சிறப்பாக வடிவமைக்கப்பட்டுள்ளன.Intellij ஐடியாவில் செய்ய வேண்டிய கூடுதல் பணிகள் | |
---|---|
1 | 1. பூஜ்ஜியத்தால் வகுத்தல் பொது நிலையான வெற்றிடத்தை பிரிவுByZero() என்ற முறையை உருவாக்கவும் , அங்கு நீங்கள் எந்த எண்ணையும் பூஜ்ஜியத்தால் வகுத்து, பிரிவின் முடிவை திரையில் காண்பிக்க வேண்டும். டிவிஷன்ByZero() முறை அழைப்பை முயலவும்..பிடிக்கவும் . Exception.printStackTrace() முறையைப் பயன்படுத்தி விதிவிலக்கு ஸ்டாக் ட்ரேஸை திரையில் காண்பிக்கவும் . |
2 | 2. கவுண்ட்டவுன் 10 முதல் 0 வரை 10 முதல் 0 வரை கவுண்டவுன் செய்ய ஒரு லூப் எழுதவும். தாமதம் செய்ய Thread.sleep(100) ஐப் பயன்படுத்தவும்; உறக்க அழைப்பை முயலவும்..பிடிக்கவும் . _ |
3 | 3. ஒரு முறையை முயலவும்..விசைப்பலகையில் இருந்து படிக்கும் எண்களைப் பிடிக்கவும். விசைப்பலகையில் எண்களைப் படிக்க ஒரு குறியீட்டை எழுதவும் readData() . இந்த முறையின் முழு உடலையும் ( readData() முறையில் உள்ள முழு குறியீட்டையும் , எண்கள் சேமிக்கப்படும் பட்டியலின் அறிவிப்பைத் தவிர) ஒரு முயற்சியில் மடிக்கவும்..பிடி . பயனர் எண்ணை உள்ளிடுவதற்குப் பதிலாக சில உரையை உள்ளிட்டால், முறை விதிவிலக்கைப் பிடித்து, முன்பு உள்ளிடப்பட்ட அனைத்து எண்களையும் திரையில் காண்பிக்க வேண்டும். திரையில் எண்களைக் காட்டவும். ஒவ்வொரு எண்ணும் ஒரு புதிய வரியில் இருக்க வேண்டும். எண்களின் வரிசை உள்ளீட்டில் இருந்ததைப் போலவே இருக்க வேண்டும். |
4 | 4. தேதி மாற்றி "08/18/2013" வடிவமைப்பில் உள்ள தேதியை கீபோர்டில் இருந்து படிக்கவும், அந்த தேதியை "AUG 18, 2013" வடிவத்தில் திரையில் காண்பிக்கவும். பொருள்கள் தேதி மற்றும் SimpleDateFormat ஐப் பயன்படுத்தவும் . |
5 | 5. உயிரெழுத்துக்கள் மற்றும் மெய் எழுத்துக்கள் விசைப்பலகையில் இருந்து வரியைப் படிக்கும் நிரலை எழுதுங்கள். நிரல் திரையில் இரண்டு சரங்களைக் காட்ட வேண்டும்: 1) முதல் சரத்தில் உயிரெழுத்துக்கள் இருக்க வேண்டும் 2) இரண்டாவது சரத்தில் உள்ளிடப்பட்ட உரையிலிருந்து மெய் எழுத்துக்கள் மற்றும் நிறுத்தற்குறிகள் இருக்க வேண்டும். இடைவெளிகளால் எழுத்துக்களைப் பிரிக்கவும். எடுத்துக்காட்டு உள்ளீடு: ஸ்டாப் லுக் கேள் எடுத்துக்காட்டு வெளியீடு: oooie stplklstn |
6 | 6. தி டேல் ஆஃப் தி லிட்டில் ரெட் ரைடிங் ஹூட் 1. ஐந்து வகுப்புகள் உள்ளன: ரெட் ரைடிங் ஹூட், பாட்டி, பாட்டி, விறகுவெட்டி, ஓநாய். 2. ஒவ்வொரு வகுப்பிலும் ArrayList வகையின் இரண்டு புலங்கள் உள்ளன : கொல்லப்பட்டது மற்றும் சாப்பிட்டது. 3. தேவையான பொருட்கள் ஏற்கனவே உருவாக்கப்பட்டுள்ளன (ஹூட், பாட்டி, ...). 4. "லிட்டில் ரெட் ரைடிங் ஹூட்டின்" தர்க்கத்தைப் பெற சரியான உறவை உருவாக்கவும் (யார் சாப்பிட்டார்கள், யாரைக் கொன்றார்கள்). |
7 | 7. மூவ் ஸ்டாடிக் மாற்றியமைக்கிறது நகர்த்து நிலையான மாற்றிகளை அதனால் குறியீடு தொகுக்கிறது. |
8 | 8. எண்களின் வரிசைகளின் பட்டியல் எண்களின் வரிசைகளின் உறுப்புகளின் பட்டியலை உருவாக்கவும். 5, 2, 4, 7, 0, நீளம் கொண்ட ஐந்து பொருள் வரிசைகளை பட்டியலில் சேர்க்கவும். எந்த தரவையும் கொண்டு வரிசைகளை நிரப்பி அவற்றை திரையில் காண்பிக்கவும். |
9 | 9. பத்து பூனைகள் ஒரு புலம் சரம் பெயருடன் ஒரு வகுப்பு பூனையை உருவாக்கவும் . ஒரு அகராதி வரைபடத்தை உருவாக்கவும்<ஸ்ட்ரிங், கேட்> , மாதிரியில் 10 பூனைகளைச் சேர்க்கவும் «பெயர்» - «பூனை». வரைபடத்திலிருந்து பெயர்களின் தொகுப்பைப் பெற்று , தொகுப்பை திரையில் காண்பிக்கவும். |
போனஸ் பணிகள் | |
---|---|
1 | 1. நிரல் தொகுக்கப்பட்டு இயங்காது. சரிசெய். பணி: நிரல் விசைப்பலகையில் இருந்து இரண்டு கோப்பு பெயர்களைப் படிக்க வேண்டும் மற்றும் இரண்டாவது பெயரால் குறிப்பிடப்பட்ட இடத்திற்கு முதல் கோப்பை நகலெடுக்க வேண்டும். |
2 | 2. நிரலில் புதிய செயல்பாட்டைச் சேர்க்கவும். பழைய பணி: நிரல் விசைப்பலகையில் இருந்து இரண்டு கோப்பு பெயர்களைப் படிக்க வேண்டும் மற்றும் முதல் கோப்பை இரண்டாவது பெயரால் குறிப்பிடப்பட்ட இடத்திற்கு நகலெடுக்க வேண்டும். புதிய பணி: நிரல் விசைப்பலகையில் இரண்டு கோப்பு பெயர்களைப் படிக்க வேண்டும் மற்றும் முதல் கோப்பை இரண்டாவது பெயரால் குறிப்பிடப்பட்ட இடத்திற்கு நகலெடுக்க வேண்டும். குறிப்பிட்ட பெயருடன் கோப்பு (நகலெடுக்கப் போகிறது) இல்லை என்றால், நிரல் திரையில் "கோப்பு இல்லை" என்ற செய்தியைக் காண்பிக்க வேண்டும் மற்றும் படிக்கும் முன் மீண்டும் ஒரு முறை கன்சோலில் இருந்து கோப்பு பெயரைப் படிக்க முயற்சிக்கவும். இரண்டாவது (இலக்கு) கோப்பின் பெயர். |
3 | 3. அல்காரிதம் கற்றல் மற்றும் பயிற்சி செய்தல். விசைப்பலகையில் இருந்து வார்த்தைகள் மற்றும் எண்களின் பட்டியலைப் படியுங்கள். திரையில் வார்த்தைகளை ஏறுவரிசையிலும் எண்களை இறங்கு வரிசையிலும் காட்டவும். எடுத்துக்காட்டு உள்ளீடு: செர்ரி 1 பீன் 3 ஆப்பிள் 2 0 தர்பூசணி எடுத்துக்காட்டு வெளியீடு: ஆப்பிள் 3 பீன் 2 செர்ரி 1 0 தர்பூசணி |
GO TO FULL VERSION