علم بمقابله مهارت
ڪاليج اسان کي سيکاريو ته نظريي ۽ عمل ۾ ڪو وڏو فرق ناهي. يقينن، توهان سمجهي رهيا آهيو ته اهو ساڳيو ناهي. پر توهان بنيادي فرق نه ٿا ڏسو. اڃان تائين هڪ آهي. گھڻا ماڻھو برابري جي نشاني رکن ٿا "مان ڄاڻان ٿو" ۽ "مان ڪريان ٿو" جي وچ ۾. ڇا ٿوهان؟ ڪجھ مثالن بابت ڪيئن؟- مون کي خبر آهي ته سگريٽ نوشي منهنجي لاءِ خراب آهي، پر مان تماڪ پيئندو آهيان.
- مون کي خبر آهي ته فاسٽ فوڊ مون لاءِ خراب آهي، پر مان ان کي کائيندو آهيان.
- مون کي ٽرئفڪ جي ضابطن جي خبر آهي پر مان ڊرائيو نه ٿو ڪري سگهان.
- مان ڄاڻان ٿو جاگنگ منهنجي لاءِ سٺي آهي پر مان صبح جو جاگنگ نه ڪندو آهيان.
توهان هڪ نئين سطح تي پهچي ويا آهيو
سطح 9
1 ريشا، اسٽيڪ جو نشان
- اي! اڄ مان توهان کي ٻڌايان ٿو ته اسٽيڪ ٽريس ڇا آهي. پر پهرين مون کي توهان کي وضاحت ڪرڻ ڏيو ته اسٽيڪ ڇا آهي. - تصور ڪريو ڪاغذن جي اسٽيڪ - ھڪڙي خاص ڪلرڪ لاءِ تفويض. هڪ نئين اسائنمينٽ کي اسٽيڪ جي چوٽي تي رکي سگهجي ٿو، ۽ هو اسٽيڪ جي چوٽي کان هڪ اسائنمينٽ وٺندو. اهڙيء طرح، تفويض پهرين اچڻ تي نه ڪيو ويندو. هر دفعي ڪلارڪ اهو ڪم وٺي ٿو جيڪو آخري اچي ٿو. مجموعي جي اهڙي جوڙجڪ کي اسٽيڪ سڏيو ويندو آهي . - جاوا ۾، اتي ھڪڙو خاص مجموعو آھي - اسٽيڪ. هن مجموعن ۾ طريقا آهن "هڪ عنصر شامل ڪريو" ۽ "وٺو (حاصل/وڃڻ) هڪ عنصر". جيئن توهان اڳ ۾ ئي ڄاڻو ٿا، شامل ڪيل آخري عنصر پهريون ڀيرو ورتو ويندو. - هوم. اهو ڏکيو ناهي، مان سمجهان ٿو. - چڱو. پوء مون کي وضاحت ڪرڻ ڏيو ته اسٽيڪ ٽريس ڇا آهي. - تصور ڪريو ته جاوا فنڪشن ۾ А ڪال ڪري ٿو فنڪشن B ، ۽ بعد ۾ ڪال ڪري ٿو فنڪشن C ، جيڪو ان جي بدلي ۾، فنڪشن ڊي کي سڏي ٿو . تنهن ڪري، فنڪشن B مان نڪرڻ لاء ، توهان کي پهريان کان ٻاهر نڪرڻو پوندو فنڪشن C ، ۽ ائين ڪرڻ لاء توهان کي فنڪشن ڊي مان نڪرڻو پوندو . اهو تمام گهڻو هڪ اسٽيڪ سان ملندڙ جلندڙ آهي. - ۽ هڪجهڙائي ڇا آهي؟ - اسٽيڪ ۾، هڪ خاص اسائنمينٽ حاصل ڪرڻ لاءِ، توهان کي به مٿي تي رکيل سموريون اسائنمنٽس کي مڪمل ڪرڻو پوندو. - خير، اهو هڪ قياس آهي، پر مون کي پڪ ناهي ته آئون سڀ ڪجهه صحيح سمجهي سگهان ٿو. - هتي ڏسو. جاوا ۾ هڪ اسٽيڪ عناصر جو هڪ سيٽ آهي. اهو هڪ اسٽيڪ ۾ ڪاغذ جي چادر وانگر آهي. مٿي کان ٽيون وٺڻ لاء، توهان کي ٻيو چادر وٺڻ گهرجي، پر ان کان اڳ توهان کي پهرين وٺڻ گهرجي. توھان ھميشه چادر رکي سگھو ٿا ۽ وٺي سگھو ٿا، پر توھان انھن کي صرف مٿي تي رکي سگھو ٿا ۽ صرف مٿي کان وٺي سگھو ٿا. ساڳيو فعل ڪال تي لاڳو ٿئي ٿو. فنڪشن A ڪال فنڪشن B ، بعد ۾ ڪال فنڪشن C. А مان نڪرڻ لاءِ ، توهان کي پهريان B مان نڪرڻو پوندو ، ۽ ائين ڪرڻ لاءِ توهان کي C مان نڪرڻو پوندو . - هڪ منٽ ترسو. جيڪڏهن مون اهو صحيح سمجهيو، ته سڄو اسٽيڪ "صرف آخري شيٽ جيڪا اسٽيڪ تي رکيل هئي، ڪڍي سگهجي ٿي" ۽ "پهريون، آخري سڏيو ويندو فعل نڪرڻ گهرجي". ڇا ائين آهي؟ - ها. تنهن ڪري، فنڪشن ڪالن جو سلسلو "فنڪشن ڪال اسٽيڪ"، يا صرف "ڪال اسٽيڪ" آهي. فنڪشن کي آخري سڏيو وڃي پهريان ختم ڪيو وڃي. اچو ته مثال ڏسو: - ٺيڪ. فنڪشن ڪال سان سڀ ڪجهه واضح آهي، مان سمجهان ٿو. پر هي StackTraceElement ڇا آهي ؟ - جاوا ورچوئل مشين سڀني فنڪشن ڪالن کي لاگ ان ڪري ٿي. ھن مقصد لاء اھو ھڪڙو خاص مجموعو آھي - اسٽيڪ. جڏهن هڪ فنڪشن ٻئي کي سڏي ٿو، JVM هڪ نئون عنصر رکي ٿو StackTraceElementهن اسٽيڪ ۾. جڏهن فنڪشن ختم ٿئي ٿي، عنصر کي اسٽيڪ مان ختم ڪيو ويو آهي. اهڙيء طرح، هي اسٽيڪ هميشه "فنڪشن ڪال اسٽيڪ" جي موجوده حالت بابت تازه ترين معلومات کي ذخيرو ڪري ٿو. - هر StackTraceElement ۾ ڄاڻايل طريقي بابت معلومات شامل آهي. تنهن ڪري توهان حاصل ڪري سگهو ٿا هن طريقي جو نالو استعمال ڪندي getMethodName . - مٿي ڏنل مثال ڏيکاري ٿو:- حاصل ڪريو "ڪال اسٽيڪ":
- هر هڪ لاءِ لوپ استعمال ڪندي صف کي ٻيهر ورجايو . مون کي اميد آهي ته توهان ان کي نه وساريو آهي.
- System.out تي طريقن جا نالا پرنٽ ڪريو .
2 ڊيوگو، اسٽيڪ ٽريس ڊسپلي تي ٽاسڪ
- اي، اميگو! ھتي ھڪڙو ننڍڙو ڪم آھي اسڪرين ڏانھن ڊسپلي ڪرڻ لاء ھڪڙو اسٽيڪ ٽريڪ.ڪم | |
---|---|
1 | هر طريقي کي واپس ڪرڻ گهرجي StackTrace لکو پنج طريقا جيڪي هڪ ٻئي کي سڏين ٿا. هر طريقو پنهنجي StackTrace کي واپس ڪرڻ گهرجي. |
2 | StackTrace ٻيهر لکو پنج طريقا جيڪي هڪ ٻئي کي سڏين ٿا. هر طريقي کي پنهنجي ڪالر جي طريقي جو نالو واپس ڪرڻ گهرجي. توهان حاصل ڪري سگهو ٿا ڪالر جو طريقو استعمال ڪندي StackTrace. |
3 | طريقو کي ڪوڊ جو لائن نمبر واپس ڪرڻ گهرجي، هي طريقو پنج طريقن سان سڏيو ويو آهي جيڪو هڪ ٻئي کي سڏيندو آهي. هر طريقي کي واپس ڪرڻ گهرجي ڪوڊ جو لائن نمبر جيڪو هن طريقي سان سڏيو ويو هو. فنڪشن استعمال ڪريو element.getLineNumber() . |
4 | 10 ڪالن جو اسٽيڪ ٽريس 10 ڪالن جو اسٽيڪ ٽريس حاصل ڪرڻ لاءِ ڪوڊ لکو. |
5 | طريقي کي نتيجو موٽڻ گهرجي - ان جي اسٽيڪ ٽريڪ ڊيپٿ هڪ طريقو لکو جيڪو ڏيکاري ٿو ۽ واپس ڪري ٿو ان جي اسٽيڪ ٽريڪ ڊيپٿ. اسٽيڪ ٽريس جي کوٽائي ان جي طريقن جو تعداد آهي (فهرست ۾ عناصر جو تعداد). |
3 ايلي، غلطيون ۽ استثنا
- اي، اميگو! اڄ اسان وٽ هڪ تمام دلچسپ سبق آهي. مان توهان کي استثنا بابت ٻڌايان ٿو. استثنا پروگرام ۾ غلطين کي ڪنٽرول ڪرڻ لاء هڪ خاص ميڪانيزم آهي. هتي غلطين جا ڪجهه مثال آهن جيڪي پروگرام ۾ ٿي سگهن ٿيون:- پروگرام مڪمل ڊسڪ تي فائل لکڻ جي ڪوشش ڪري ٿو.
- پروگرام ڪوشش ڪري ٿو سڏڻ جو طريقو هڪ متغير جو جيڪو ذخيرو ڪري ٿو نول ريفرنس.
- پروگرام ڪوشش ڪري ٿو ھڪڙي نمبر کي 0 سان ورهائڻ جي.
- جڏهن هڪ غلطي ٿئي ٿي، جاوا ورچوئل مشين هڪ خاص اعتراض ٺاهي ٿي - هڪ استثنا - جنهن ۾ غلطي بابت سموري معلومات شامل آهي. مختلف غلطين لاء مختلف استثنا آهن.
- پوء هي استثنا پروگرام کي طاقت ڏئي ٿو ته فوري طور تي موجوده فنڪشن کي مداخلت ڪري، ۽ ايندڙ فنڪشن، جيستائين اهو مکيه طريقي کان ٻاهر نه نڪري. ان کان پوء پروگرام ختم ٿي ويندو. جاوا ڊولپرز هن عمل کي سڏي ٿو "ڪال اسٽيڪ کي واپس ڪري ٿو".
- جيڪڏهن ڪو استثنا ٿئي ٿو ڪوشش بلاڪ جي اندر، هن بلاڪ ۾ ڪوڊ وڌيڪ عمل نه ڪيو ويندو، پر بلاڪ جي ڪيچ جي عمل شروع ٿيندي.
- جيڪڏهن ڪو به استثنا نه ٿيو، ڪوشش بلاڪ تي عمل ڪيو ويندو آهي آخر تائين ، ۽ ڪيچ ڪڏهن به عمل نه ڪيو ويندو آهي .
4 ايلي، رن ٽائم استثنا، اڇلائي
- مون اڄ هڪ ٻيو موضوع آڻڻ جو فيصلو ڪيو. جاوا ۾، سڀئي استثنا ٻن قسمن ۾ ورهايل آھن - ڪنٽرول ٿيل / چيڪ ٿيل ۽ غير ڪنٽرول ٿيل / اڻ چيڪ ٿيل . چيڪ ٿيل استثنا ضرور پڪڙيو وڃي، اڻ چيڪ ٿيل پڪڙي سگهجي ٿو پر اهو گهربل ناهي . - ڇا اهو ممڪن آهي ته هڪ ڪوڊ ۾ استثناء کي مقصد تي اڇلائي؟ - توهان جي ڪوڊ ۾، توهان پنهنجو پاڻ کي استثنا اڇلائي سگهو ٿا. توھان پڻ پنھنجو استثنا لکي سگھو ٿا. پر اسان بعد ۾ هن سوراخ ۾ گهيرو ڪنداسين. ھاڻي اچو ته سکو ته ڪيئن ڪم ڪجي جاوا ورچوئل مشين پاران ڏنل استثنا سان. - ٺيڪ. - جيڪڏهن استثنا ClassNotFoundException ۽ FileNotFoundException هڪ طريقي ۾ اڇلايا ويا (ظاهر)، پروگرامر کي انهن کي هڪ طريقي جي دستخط ۾ بيان ڪرڻو پوندو (طريقو هيڊر). اهڙا استثنا چيڪ ڪيا ويا آهن. اھو اھو آھي جيڪو عام طور تي ڏسڻ ۾ اچي ٿو: - تنھنڪري، اسان صرف لکندا آھيون اڇلائي ۽ فهرست استثناء کي ڪاما سان الڳ ڪري. ساڄو؟ ڇا ائين آهي؟ - ها. پر اتي هڪ ٻي دلچسپ شيء آهي. هيٺ ڏنل مثال کي ترتيب ڏيڻ لاء، طريقو جيڪو طريقو 1 () سڏيندو آهي يا ته انهن استثنا کي پڪڙڻ يا انهن کي اڳتي وڌائڻ لاء. جيڪڏھن توھان چاھيو ٿا چيڪ ٿيل استثنا اڳتي وڌايو توھان کي ان کي بيان ڪرڻ جي ضرورت آھي طريقي جي ھيڊر ۾ . - هڪ دفعو ٻيهر، جيڪڏهن مکيه طريقي سان، توهان هڪ طريقي کي سڏڻ چاهيو ٿا جيڪو هن جي هيڊر جملي ۾ اڇلائي ٿو FileNotFoundException، ... پوء توهان کي انهن ٻن شين مان هڪ ڪرڻو پوندو:- استثنا کي پڪڙڻ لاءِ FileNotFoundException، ...
توهان کي ڪوڊ لپيٽڻو پوندو جتي توهان هڪ خطرناڪ طريقي کي ڪال ڪريو ڪوشش-ڪيچ بلاڪ سان - استثنا نه پڪڙڻ لاءِ FileNotFoundException، ...
5 ريشا، ڪال اسٽيڪ کي رولنگ، استثناء ۾ ڪيئن ڪجي
- مان توھان کي ٿورو وڌيڪ ٻڌائڻ چاھيان ٿو ته استثنا ڪيئن ڪم ڪن ٿا. هيٺ ڏنل مثال بيان ڪري ٿو ته: - مون کي اهو نٿو ملي. - ٺيڪ. مان وضاحت ڪندس ته ڇا ٿي رهيو آهي. - کاٻي پاسي جي مثال ۾، اسان ڪيترن ئي طريقن کي زنجير جي ترتيب ۾ سڏيندا آهيون. طريقو 2 () ۾ اسان خاص طور تي ٺاهيو ۽ هڪ استثنا اڇلايو (غلطي شروع ڪرڻ لاءِ). - ساڄي پاسي جو مثال ڏيکاري ٿو ته ڇا ٿئي. طريقو 2 () کي ڏسو . اھو اھو آھي جيڪو ھڪڙي استثناء جي تخليق ۾ تبديل ٿئي ٿو: اسان RuntimeException قسم جو ھڪڙو اعتراض ٺاھيو آھي ، ان کي ھڪڙي خاص متغير استثنا ۾ ذخيرو ڪريو ۽ فوري طور تي طريقو کان ٻاھر نڪري وڃو - واپسي . - طريقو 1 ۾ ، ميٿڊ 2 جي ڪال کان پوءِ اتي هڪ چيڪ آهي، جيڪڏهن ڪو استثنا آهي يا نه؛ جيڪڏهن ڪو استثنا آهي، پوء طريقو 1 فوري طور تي ختم ٿي ويندو. هي چيڪ مڪمل طور تي هر (!) جاوا طريقي کي سڏڻ کان پوءِ ڪيو ويندو آهي. - واهه! - بلڪل. - ميٿڊ مين ۾ ساڄي پاسي واري ڪالم ۾ مون لکيو ته ڇا ٿيندو جڏهن ڪو استثنا ڪوشش-ڪيچ بلاڪ طرفان پڪڙيو وڃي. جيڪڏهن ڪو به استثنا نه هو، ڪوڊ جاري رهي ٿو صرف منصوبابندي جي طور تي. جيڪڏهن ڪيچ ۾ بيان ڪيل قسم جي استثنا هئي ، ته پوء اسان ان کي سنڀاليندا آهيون. - ۽ اڇلائڻ ۽ مثال جو مطلب ڇا آهي؟ - کاٻي پاسي واري آخري لائين تي ڏسو نئون RuntimeException(s) اڇلايو . هن طريقي سان اسان هڪ استثنا ٺاهي ۽ اڇليندا آهيون. هي صرف هڪ مثال آهي. اسان ايترو پري نه ڪنداسين. - ساڄي بلاڪ ۾ ڪمانڊ « a instanceof B » استعمال ڪندي اسان چيڪ ڪريون ٿا ته ڇا اعتراض a ۾ B قسم آهي . اهو آهي، ڇا اهو اعتراض متغير استثنا ۾ ذخيرو ٿيل آهي، ان جو قسم آهي RuntimeException . اهو هڪ منطقي اظهار آهي. - خير، اهو ٿورڙو صاف ٿي رهيو آهي.6 ڊيوگو، استثنا پڪڙڻ جو ڪم
- هتي ڏس! چاچا ڊيوگو توهان لاءِ پڪڙڻ تي ڪجهه ڪم کڻي آيو آهي. توهان جي قسمت جي خواهش. مان سمجهان ٿو ته توهان کي ان جي ضرورت پوندي. هِي. - اي، اميگو! هتي ڪجهه دلچسپ استثنا پڪڙڻ وارا ڪم آهن.پڪڙڻ جا ڪم | |
---|---|
1 | 1. استثنا جڏهن انگن سان ڪم ڪري رهيو آهي استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو: int a = 42 / 0؛ اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي |
2 | 2. استثنيٰ جڏهن اسٽرنگ سان ڪم ڪري رهيو آهي ته استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو: String s = null؛ اسٽرنگ m = s.toLowerCase(); اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي. |
3 | 3. استثنا جڏهن صفن سان ڪم ڪري رهيو آهي استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو: int[] m = new int[2]; م [8] = 5؛ اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي. |
4 | 4. استثنا جڏهن لسٽ جي مجموعن سان ڪم ڪري رهيو آهي استثنا کي پڪڙيو جيڪو تڏهن ٿئي ٿو جڏهن ڪوڊ هلايو: ArrayList<String> list = نئين ArrayList<String>(); اسٽرنگ s = list.get(18); اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي. |
5 | 5. استثنا جڏهن نقشي جي مجموعن سان ڪم ڪري رهيو آهي استثنا کي پڪڙيو جيڪو ڪوڊ هلائڻ وقت ٿئي ٿو: HashMap<String, String> map = نئون HashMap<String, String>(null); map.put(null, null); map.remove(null); اسڪرين تي استثنا ڏيکاريو، ان جو قسم بيان ڪندي. |
7 ريشا، ڪھڙو گھڻا ڪيچ ڪم
- هاڻي، ڪجهه وڌيڪ دلچسپ ليڪچر. مون کي تمام گهڻو سکڻ پسند آهي. - مان توهان کي ٻڌائڻ چاهيان ٿو ته هڪ کان وڌيڪ ڪيچ ڪيئن ڪم ڪندو آهي. حقيقت ۾ اهو تمام سادو آهي: جڏهن بلاڪ ڪوشش ۾ هڪ استثنا ٿئي ٿي ، پروگرام جي عمل کي پهرين پڪڙي ڏانهن منتقل ڪيو ويندو آهي . - جيڪڏهن بلاڪ ڪيچ جي قوس ۾ بيان ڪيل قسم استثنا-آبجڪٽ جي قسم جي برابر آهي، ته پوءِ ڪوڊ تي عملدرآمد شروع ٿئي ٿو {} جي اندر. ٻي صورت ۾ اسان ايندڙ ڪيچ ڏانهن وڃو . چيڪ اتي بار بار ڪيو ويندو آهي. - جيڪڏهن وڌيڪ ڪيچ بلاڪ نه آهن ، پر استثنا نه پڪڙيو ويو آهي، اهو اڳتي وڌايو ويو آهي، ۽ موجوده طريقي سان مداخلت ڪئي وئي آهي. - اڇا اها ڳاله آ. اهو پڪڙڻ تي عمل ڪيو ويندو، جنهن جو قسم استثناء جي قسم سان ملندو آهي. - ها، صحيح. دراصل، اهو ٿورو وڌيڪ پيچيده آهي: نقطو اهو آهي ته طبقن کي هڪ ٻئي کان وارث ٿي سگهي ٿو. جيڪڏهن ڪلاس ”کائو“ ڪلاس ”جانور“ مان ورثي ۾ مليل آهي، ته ”ڳئون“ جي قسم جو اعتراض نه رڳو ”ڳئون“ جي قسم جي متغير ۾، پر ”جانور“ جي قسم جي متغير ۾ پڻ محفوظ ٿي سگهي ٿو. . - پوءِ ڇا؟ - جيئن ته سڀئي استثنا ڪلاس Exception يا RuntimeException کان ورثي ۾ مليا آهن (جيڪو پڻ Exception ) مان ورثي ۾ ملي ٿو، اهي سڀئي ڪمانڊ ڪيچ (Exception e) يا ڪيچ (RuntimeException e) استعمال ڪندي پڪڙي سگهجن ٿا . - پوءِ ڇا؟ - هن جو مطلب اهو آهي ته، پهرين، توهان ڪيچ استعمال ڪندي ڪنهن به استثنا کي پڪڙي سگهو ٿا catch(Exception e) . ٻيو، ڪيچ بلاڪ جو حڪم معاملو آهي. مثال: - 0 جي ڀاڱي مان نڪرندڙ ArithmeticException ٻئي ڪيچ ۾ پکڙيل آهي. - هيٺ ڏنل مثال ۾، ArithmeticException پهرين پڪڙي ۾ پڪڙيو ويو آهي ، ڇاڪاڻ ته سڀني استثنان جا ڪلاس استثنا مان ورثي ۾ مليا آهن. تنهن ڪري، استثنا ڪنهن به استثنا کي پڪڙي ٿو . - ھيٺ ڏنل مثال ۾، استثنا ArithmeticException نه پڪڙيو ويو آھي، پر اڳتي وڌايو ويو آھي سڏڻ واري طريقي ڏانھن. - چڱو، اهو هاڻي واضح ٿي رهيو آهي. اهي استثنا ايترو آسان نه آهن. - اهو صرف ائين لڳي ٿو. حقيقت ۾، اها جاوا ۾ هڪ سادي شيء آهي. - مان شڪ ۾ آهيان ته ان تي راضي ٿي ويس يا ناراض ٿي...8 ڊياگو، گھڻا استثنا پڪڙڻ جا ڪم
- اي، اميگو! ڪالهه مون شراب پيئي ۽ توهان جي ڪمن کي وڌيڪ پيچيده ڪيو، پر مون کي اميد آهي ته توهان جي طرف کان ڪو به سخت احساس نه آهي ۽ توهان انهن سڀني کي حل ڪندا؟ اهو توهان جي پنهنجي فائدي لاء آهي. هتي:ڪم | |
---|---|
1 | 1. استثنا اتي ھڪڙو طريقو آھي جيڪو ٻن استثنان کي وراثت ۾ اڇلائي ٿو استثنا مان ، ۽ ٻيا ٻه وراثت مان ورثي ۾ مليا RuntimeException : NullPointerException ، ArithmeticException ، FileNotFoundException ، ۽ URISyntaxException . توهان کي NullPointerException ۽ FileNotFoundException کي پڪڙڻ جي ضرورت آهي ، پر ArithmeticException ۽ URISyntaxException کي پڪڙڻ لاءِ نه . اهو ڪيئن ڪجي؟ |
2 | 2. ڪيچنگ استثنا هتي ٽي استثنا آهن جيڪي ترتيب وار استثنا مان ورثي ۾ مليا آهن : ڪلاس Exception1 Exception class exception2 exceptions exception1 class Exception3 exceptions exception2 expans there is a method، جنهن کي هن ريت بيان ڪيو ويو آهي: public static void method1() throws Exception1, Exception2, Exception3 ڪيچ لکو سڀني ٽن کي پڪڙڻ لاءِ بلاڪ ڪريو Exception1 ، Exception2 ۽ Exception3 |
3 | 3. چونڊيل استثنان کي پڪڙڻ 1. ڳولهيو ته ڪھڙين استثنان کي BEAN.methodThrowExceptions جي طريقي سان اڇلايو ويو آھي . 2. طريقو processExceptions() کي طريقو سڏڻ گھرجي BEAN.methodThrowExceptions ۽ ھٿ ڪرڻ گھرجي استثنا: 2.1. جيڪڏهن هڪ استثنا FileSystemException ٿئي ٿي، ته پوءِ ان کي ڪال ڪري لاگ ان ڪريو طريقو BEAN.log ۽ اڇلائي 2.2. جيڪڏهن ڪو استثنا CharConversionException يا ڪو ٻيو IOException ٿئي ٿو، صرف BEAN.log 3 جي طريقي کي ڪال ڪري لاگ ان ڪريو. استثنا جو ڪلاس/قسم شامل ڪريو جيڪو توهان 2.1 ۾ فارورڊ ڪري رهيا آهيو. پروسيس ۾ Exceptions() طريقي جي دستخط. 4. ميٿڊ مين () ۾ باقي استثنا کي سنڀاليو ۽ ان کي لاگ ان ڪريو. استعمال ڪريو try..catch ٽپ: جيڪڏھن توھان پڪڙيو آھي استثنا MyException ، جنھن کي توھان پڪڙڻ نٿا چاھيو، توھان ھيٺ ڏنل ڪوڊ استعمال ڪندي ان کي اڳتي اڇلائي سگھو ٿا: catch (MyException e) { throw e; } |
4 | 4. چڪاس ٿيل استثنا کي پڪڙڻ، طريقي جي عمل ۾ سڀني چيڪ ٿيل استثنان کي سنڀاليوExceptions() . توهان کي اسڪرين تي ڊسپلي ڪرڻ جي ضرورت آهي هر چيڪ ٿيل استثنا جيڪو واقع ٿيو آهي. توھان استعمال ڪري سگھوٿا صرف ھڪڙو بلاڪ ڪوشش . |
5 | 5. اڻ چيڪ ٿيل استثنان کي پڪڙڻ طريقن جي عمل ۾ سڀني غير چيڪ ٿيل استثنان کي سنڀاليوExceptions () . توھان کي اسڪرين تي ڊسپلي ڪرڻ جي ضرورت آھي ھر ھڪڙي استثناء جي ھڪڙي اسٽيڪ ٽريڪ جو طريقو استعمال ڪندي printStack() . توھان استعمال ڪري سگھوٿا صرف ھڪڙو بلاڪ ڪوشش . |
9 پروفيسر، استثنا تي ليڪچر
- اڄ اسان وٽ ھڪڙو دلچسپ موضوع آھي - استثنا. ان وقت، جڏهن نوجوان سائنسدان ۽ پروگرامر هن موضوع تي تمام گهڻو پرجوش هئا... - معاف ڪجو، مون کي ليبارٽري ڏانهن وڃڻ گهرجي. هتي ليڪچر نوٽس آهن. مان سمجهان ٿو ته توهان ان کي پاڻ لاء سمجهندا. هتي: Java Exceptions (Oracle Documentation) Exception Handling in Java (Java T point) Java - Exceptions handling (tutorial point) Basic Java Exception Handling10 جوليو
- اميگو، اڄ جي سبق بابت توهان جو ڇا خيال آهي؟ ڇا توھان جو دماغ اڃا تائين ڪم نه ڪيو آھي؟ ڊيوگو جا ڪم هر ڪنهن کي پائڻ لاءِ ڪافي آهن. اچو ته هڪ بيئر لمحو ۽ آرام ڪريو. ڇا تون اڃا بيٺي آهين؟11 ڪئپٽن اسڪوائرز
- هيلو، سپاهي! - صبح جو سلام سائين! - مون کي توهان لاء ڪجهه عجيب خبر آهي. هتي توهان جي صلاحيتن کي مضبوط ڪرڻ لاء هڪ تڪڙو چيڪ آهي. اهو هر روز ڪريو، ۽ توهان پنهنجي صلاحيتن کي حقيقي جلدي وڌايو. ڪم خاص طور تي Intellij IDEA ۾ ڪرڻ لاءِ ٺهيل آهن.Intellij Idea ۾ ڪرڻ لاءِ اضافي ڪم | |
---|---|
1 | 1. صفر سان ورهايو هڪ طريقو ٺاهيو عوامي جامد صفر divisionByZero() ، جتي توهان کي ڪنهن به نمبر کي صفر سان ورهائڻ جي ضرورت آهي، ۽ اسڪرين تي ڏيکاريو ڊويزن جو نتيجو. divisionByZero() ميٿڊ ڪال کي ٽوڙيو ڪوشش ڪريو..catch . Exception.printStackTrace() جو طريقو استعمال ڪندي استثنا اسٽيڪ ٽريس کي اسڪرين تي ڏيکاريو . |
2 | 2. ڳڻپ 10 کان 0 تائين 10 کان 0 تائين ڳڻپ لاءِ لوپ لکو. دير ڪرڻ لاءِ Thread.sleep(100) استعمال ڪريو؛ ننڊ جي ڪال کي هڪ ڪوشش ۾ وجھو..پڪڙو . |
3 | 3. ھڪڙي طريقي کي ھڪڙي ڪوشش ۾ لپايو..پڙھيو نمبر ڪي بورڊ مان. ڪي بورڊ مان نمبر پڙهڻ لاءِ ڪوڊ لکو الڳ طريقي سان readData() . هن طريقي جي پوري باڊي کي لپي ڇڏيو (سڄو ڪوڊ اندر اندر readData() طريقي جي، فهرست جي اعلان کان سواءِ جتي نمبر محفوظ ڪيا ويندا) ڪوشش ڪريو.. catch . جيڪڏهن صارف هڪ نمبر داخل ڪرڻ بدران ڪجهه متن داخل ڪري ٿو، طريقو کي استثنا کي پڪڙڻ ۽ اسڪرين تي ڊسپلي ڪرڻ لاء سڀني نمبرن کان اڳ داخل ڪيو ويو آهي. اسڪرين تي نمبر ڏيکاريو. هر نمبر هڪ نئين لائن تي هجڻ گهرجي. انگن جي ترتيب ائين ئي هجڻ گهرجي جيئن ان پٽ ۾ هئي. |
4 | 4. تاريخ ڪنورٽر ڪيبورڊ تان هڪ تاريخ پڙهو فارميٽ ۾ "08/18/2013" اسڪرين تي ڏيکاريو اها تاريخ "AUG 18، 2013" جي شڪل ۾. شيون استعمال ڪريو تاريخ ۽ SimpleDateFormat . |
5 | 5. سُر ۽ ڪنسوننٽ هڪ پروگرام لکو جيڪو ڪيبورڊ مان ليڪ پڙهي. پروگرام کي اسڪرين تي ٻه اسٽرنگ ظاهر ڪرڻ گهرجن: 1) پهرين اسٽرنگ ۾ واول هجڻ گهرجي 2) ٻئي اسٽرنگ ۾ داخل ٿيل ٽيڪسٽ مان ڪنسوننٽس ۽ اوقاف جي حرفن تي مشتمل هجڻ گهرجي. اسپيس جي حساب سان ڪردارن کي الڳ ڪريو. مثال ان پٽ: اسٽاپ ڏس ٻڌو مثال آئوٽ: oooie stplklstn |
6 | 6. The tale of the Little Red Riding Hood 1. اتي پنج طبقا آھن: ريڊ رائيڊنگ ھوڊ، ڏاڏي، پيٽي، ڪاٺ ڪڪر، ولف. 2. هر طبقي ۾ ArrayList قسم جا ٻه شعبا آهن : مارجي ويو ۽ کاڌو. 3. ضروري شيون اڳ ۾ ئي ٺاهيل آهن (هود، داد، ...). 4. ”ننڍي ريڊ رائيڊنگ هوڊ“ جي منطق حاصل ڪرڻ لاءِ صحيح تعلق پيدا ڪريو (ڪنھن کي کاڌو ۽ ڪنھن کي ماريو). |
7 | 7. Move static modifies Move static modifiers جيئن ڪوڊ مرتب ٿئي. |
8 | 8. انگن جي صفن جي لسٽ ھڪڙي فهرست ٺاھيو جنھن جا عنصر انگن جا صف آھن. لسٽ ۾ شامل ڪريو پنج آبجیکٹ صفن جي ڊيگهه 5، 2، 4، 7، 0، ترتيب سان. ڪنهن به ڊيٽا سان صفون ڀريو ۽ انهن کي اسڪرين تي ڏيکاريو. |
9 | 9. Ten cats ٺاهيو هڪ ڪلاس Cat هڪ فيلڊ اسٽرنگ نالي سان . ڊڪشنري جو نقشو ٺاھيو<String, Cat> , 10 cats شامل ڪريو ماڊل تي "نالو" - "Cat". نقشي مان حاصل ڪريو نالن جو هڪ سيٽ ۽ سيٽ کي اسڪرين تي ڏيکاريو. |
بونس ڪم | |
---|---|
1 | 1. پروگرام گڏ نٿو ڪري ۽ هلائي ٿو. ان کي درست ڪريو. ٽاسڪ: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي ٻئي نالي سان بيان ڪيل هنڌ ڏانهن نقل ڪرڻ گهرجي. |
2 | 2. پروگرام ۾ نئين ڪارڪردگي شامل ڪريو. اولڊ ٽاسڪ: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي نقل ڪرڻ لاءِ ٻئي نالي سان مخصوص ڪيل جڳهه تي. نئون ڪم: پروگرام کي ڪيبورڊ مان ٻه فائل جا نالا پڙهڻ گهرجن ۽ پهرين فائل کي نقل ڪرڻ لاءِ ٻئي نالي سان بيان ڪيل هنڌ تي. جيڪڏهن فائل (جيڪو نقل ٿيڻ وارو آهي) مخصوص نالي سان موجود ناهي، پروگرام کي اسڪرين تي پيغام ڏيڻ گهرجي "فائل موجود ناهي" ۽ پڙهڻ کان پهريان هڪ ڀيرو ٻيهر ڪنسول مان فائل جو نالو پڙهڻ جي ڪوشش ڪريو. ٻي (منزل) فائل جو نالو. |
3 | 3. سکيا ۽ مشق الگورتھم. ڪيبورڊ مان لفظن ۽ انگن جي لسٽ پڙهو. اسڪرين تي لفظن کي وڌندي ترتيب ۾ ڏيکاريو ۽ انگ اکر ھيٺ لھي. مثال ان پٽ: چيري 1 بين 3 ايپل 2 0 تربوز مثال ٻاھر نڪرڻ: ايپل 3 بين 2 چيري 1 0 تربوز |
GO TO FULL VERSION