هي ليڪچر اهم ٿيڻ وارو آهي جيڪڏهن توهان وڏي پروگرامن سان ڪم ڪري رهيا آهيو.
توهان غلطين کي سنڀالڻ سکندا استثنا بلاڪ ذريعي ۽ Python ۾ تبصرا استعمال ڪندي.
کان سواء
اسان سکڻ وارا آهيون ته پٿون پروگرامن ۾ غلطين کي ڪيئن سنڀالجي. اچو ته هڪ ننڍڙو پروگرام لکڻ سان شروع ڪريون ٽرمينل کان صارف جي عمر حاصل ڪرڻ لاء.
age = int(input('Age'))
print(age)
اچو ته ان کي هلائي.
هاڻي، هن پروگرام جي نڪرڻ واري ڪوڊ کي ڏسو. ايگزٽ ڪوڊ 0 جو مطلب آھي اسان جو پروگرام ڪاميابيءَ سان ختم ٿي ويو ۽ ڪا به نقص نه ھئي. پر ڇا جيڪڏهن اسان هن پروگرام کي هڪ ڀيرو وڌيڪ هلايو ۽ عددي قدر داخل ڪرڻ بدران، اسان هڪ اسٽرنگ داخل ڪريون؟
اسان کي هن جي پيغام سان هڪ قدر جي غلطي ملي ٿي “invalid literal for int() with base 10” بنيادي طور تي هي پيغام اسان کي ٻڌائي رهيو آهي ته هي اسٽرنگ “qwe” ۾ صحيح گهر نمبر نه آهي جنهن کي انٽيجر ۾ تبديل ڪري سگهجي. هاڻي، هن پروگرام جي نڪرڻ واري ڪوڊ کي ڏسو. ايگزٽ ڪوڊ 1 جو مطلب آھي اسان جو ايگزٽ ڪوڊ ڪريش ٿي ويو، تنھنڪري 0 جو مطلب ھميشه ڪاميابي آھي ۽ 0 کان سواءِ ٻيو ڪجھ به نه آھي. پروگرامنگ ۾، اسان هن قسم جي غلطي کي استثنا طور حوالو ڏيون ٿا.
هڪ سٺو پٿون پروگرامر جي طور تي، توهان کي هن صورتحال جو اندازو لڳائڻ گهرجي. توهان نٿا چاهيو ته توهان جو سڄو پروگرام حادثو صرف ڇو ته صارف هڪ غلط قدر داخل ڪيو آهي. تنهن ڪري پروگرام کي حادثو ڪرڻ جي بدران توهان کي صورتحال کي سنڀالڻ ۽ صحيح غلطي پيغام پرنٽ ڪرڻ گهرجي. اھو اھو آھي جيڪو مان توھان کي ھن ليڪچر ۾ ڏيکارڻ وارو آھيان.
پٿون ۾، اسان وٽ هڪ تعمير آهي جنهن کي سڏيو ويندو آهي try except
غلطي جي حالتن کي منهن ڏيڻ لاء استعمال ڪيو ويو.
try:
age = int(input('Age'))
print(age)
ڪوڊ جون اهي ٻه لائينون اسان جو حصو آهن try:
بلاڪ. اسان شامل ڪنداسين except
ان کان پوء بلاڪ ڪريو غلطي جي قسم سان جيڪو اسان توقع ڪري رهيا آهيون.
except ValueError:
print('Invalid Value')
اهو هاڻي "غلط قدر" واري اسٽرنگ کي واپس ڏيندو قدر جي غلطي جي صورت ۾.
اچو ته پوئين پروگرام کي تبديل ڪندي هڪ ٻي قسم جي غلطي کي ڏسو.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
هاڻي، جيڪڏهن اسان هن پروگرام کي هلائيندا آهيون ۽ عمر ۾ '0' داخل ڪندا آهيون، هڪ عددي قدر. ان ڪري، ٽيڪنيڪل طور تي، اسان کي ڪو به استثنا نه ملڻ گهرجي.
اچو ته ان کي هلائي.
نظر وجهو. اسان جو پروگرام خراب ٿي ويو ۽ اسان "زيرو ڊويزن ايرر" ڪيو ڇو ته اسان نمبر کي 0 سان ورهائي نٿا سگهون. هڪ ڀيرو ٻيهر نڪرڻ واري ڪوڊ کي ڏسو. اسان هن قسم جي غلطي يا هن قسم جي استثنا کي بلاڪ کان سواء پڪڙي نه سگهياسين.
هي بلاڪ کان سواءِ صرف قسم جي قدر جي غلطي جي استثنا کي پڪڙي رهيو آهي ۽ اسان کي صفر ڊويزن جي غلطي کي سنڀالڻ لاءِ هڪ نئين بلاڪ جي ضرورت پوندي. اچو ته ان مطابق پروگرام کي تبديل ڪريون.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
مسئلو حل ٿي ويو آهي!
- نحو جي غلطي
- ٽائپ ايرر
- نالي جي غلطي
- انڊيڪس جي غلطي
- قدر جي غلطي
- صفر تقسيم جي غلطي
- خاصيت جي غلطي
- هلندڙ وقت جي غلطي
- اهم غلطي
- ياداشت جي غلطي
- دعويٰ جي غلطي
- داخل ڪرڻ جي غلطي
- غلطي
- فلوٽنگ پوائنٽ غلطي
- اوور فلو غلطي
- منطق جي غلطي
- سسٽم جي غلطي
- نه لاڳو ٿيل غلطي
- اوسر
- غلطي
- حوالي جي غلطي
- يونيڪوڊ غلطي
- رياضي جي غلطي
- يونيڪوڊ ڊيڪوڊ غلطي
- يونيڪوڊن ڪوڊ غلطي
- يونيڪوڊ ترجمي جي غلطي
- رنٽائم غلطيون
هڪ پروگرامر جي طور تي، توهان کي پنهنجي پروگرام ۾ سڀني استثنان کان واقف ٿيڻ گهرجي ۽ توهان کي انهن جي مطابق سنڀالڻ گهرجي.
تبصرا
هاڻي، اسان python ۾ تبصرن بابت ڳالهائڻ وارا آهيون. اسان تبصرا استعمال ڪندا آهيون نوٽس يا تبصرا شامل ڪرڻ لاءِ اسان جي پروگرامن ۾ پڙهڻ جي قابليت کي بهتر ڪرڻ ۽ پيغام پهچائڻ لاءِ جيڪو اسان جو ڪوڊ پڙهي رهيو آهي.
# نشاني استعمال ڪندي پروگرام ۾ تبصرا لکي سگهجن ٿا. هر شي جيڪا توهان # کان پوء لکندا آهيو، پٿون ڪمپلر طرفان نظرانداز ڪيو ويندو ۽ عمل نه ڪيو ويندو. توھان شامل ڪري سگھوٿا تبصرا انفرادي لائينن تي گڏوگڏ ڪوڊ جي ھڪڙي لائن کان پوءِ.
انهن تبصرن سان، اسان پنهنجي ڪوڊ جي باري ۾ ڪجهه وضاحت ڪري سگهون ٿا، اسان انهن کي ياد ڏياريندڙ طور استعمال ڪري سگهون ٿا شين کي درست ڪرڻ يا شين کي صاف ڪرڻ، يا اسان انهن کي استعمال ڪري سگهون ٿا شيون ڳالهائڻ لاءِ ٻين ڊولپرز سان جيڪي اسان جو ڪوڊ پڙهي رهيا آهيون يا وضاحت ڪرڻ لاءِ ته اسان هي ڪوڊ ڇو لکيو آهي. هڪ خاص طريقو. اهي تبصرا استعمال ڪرڻ لاء سٺو استعمال ڪيس آهن. اسان ڪيترن ئي لائينن تي رايا پڻ ڪري سگھون ٿا. هر لڪير کي نئين # نشاني سان شروع ڪرڻ گهرجي. ھاڻي ھڪڙي شيء جيڪا توھان کان بچڻ جي ضرورت آھي تبصرو استعمال ڪندي بيان ڪيو آھي ڪوڊ ڇا ڪندو آھي.
هتي هڪ خراب تبصرو جو هڪ مثال آهي:
هي هڪ خراب تبصرو آهي ڇو ته اهو مون کي واضح ڪري رهيو آهي. اهو مون کي ٻڌائي رهيو آهي ته ايندڙ لائن ”مغرب ۾ سج سيٽ“ ڇپڻ واري آهي. هاڻي هن تبصري سان مسئلو اهو آهي ته لفظي ۽ ورهاڱي کان علاوه جيڪڏهن توهان هتي اچو ۽ اولهه کان اوڀر ۾ تبديل ڪريو ته اهو تبصرو پراڻو ٿي ويندو. تنهن ڪري، هر دفعي اسان جو ڪوڊ تازه ڪاري ڪريون ٿا اسان کي واپس اچڻو پوندو ۽ لاڳاپيل تبصرو کي تبديل ڪرڻو پوندو.
مختصر ۾، جواب ڏيڻ لاءِ پنهنجا رايا استعمال ڪريو ته ڇا جي بدران ڪيئن ۽ ڇو آهي.
هتي هڪ سٺو تبصرو جو هڪ مثال آهي:
پهرين تبصري ۾، مان پاڻ کي ياد ڏياري رهيو آهيان ته پروگرام کي حتمي شڪل ڏيڻ کان پهريان مون کي هن آمدني جي قيمت کي اپڊيٽ ڪرڻ جي ضرورت آهي ۽ ٻيو قدر ٻين ڊولپرز کي ٻڌائي رهيو آهي جيڪي منهنجو ڪوڊ پڙهي رهيا آهن ته سڀئي غلطيون هن پروگرام ۾ هٿ نه ڪيا ويا آهن.
مجموعي طور تي، توهان کي غير ضروري تبصرن کان پاسو ڪرڻ گهرجي ۽ توهان جا رايا توهان جي ڪوڊ ۾ ڪجهه قدر شامل ڪرڻ گهرجي.
ويڙهيو!
استثنا ۽ تبصرا پروگرامنگ جا ٻه حصا آهن جن کي اڪثر نظرانداز ڪيو ويندو آهي ۽ انهن جي اهميت عام طور تي گهٽجي ويندي آهي.
توهان جي پروگرام کي تباهه ڪرڻ لڳ ڀڳ خراب آهي جيترو توهان جي ڪوڊ تي تبصرو نه ڪرڻ جتي ضرورت هجي. ايندڙ ليڪچر ڪلاسز ۽ ڪنسٽرڪٽرز تي ڌيان ڏيندو.
جواب ڇڏي وڃو