Java ایکسیپشنز میں، آپ سیکھیں گے کہ ایکسیپشنز کیا ہیں (پروگرام کے عمل کے دوران پیش آنے والے مسائل) اور ہم انھیں کیسے استعمال کر سکتے ہیں (پروگرام کے…
Java ایکسیپشنز میں، آپ سیکھیں گے کہ ایکسیپشنز کیا ہیں (پروگرام کے عمل کے دوران پیش آنے والے مسائل) اور ہم انھیں کیسے استعمال کر سکتے ہیں (پروگرام کے رک جانے سے پہلے انھیں سنبھالنا)۔ آپ مختلف ایکسیپشن اقسام (بلٹ اِن اور صارف کی متعین کردہ، چیکڈ اور اَن چیکڈ) کے بارے میں سیکھیں گے اور پھر یہ معلوم کریں گے کہ انھیں کیسے سنبھالا جائے (جب وہ پیش آئیں تو کیا کیا جائے)، انھیں گروپ کیسے کیا جائے (تاکہ ہمیں ہر ایکسیپشن کے لیے الگ کوڈ لکھنا نہ پڑے)، اور ایکسیپشنز کو throwing اور catching کرنے کے بارے میں سیکھیں گے (جہاں ہم مسائل کے پیش آنے سے پہلے ان کی نشاندہی کر سکتے ہیں)۔ آخر میں، ہم ایکسیپشن کلاسز (جو throwable کلاس کا حصہ ہیں) اور ایکسیپشنز کو کیسے نیسٹ کیا جائے (ایک ایکسیپشن کے اندر دوسری) پر بات کریں گے۔
سیکھنے کے مقاصد:
- ایکسیپشنز کو استعمال کرنے کا طریقہ بیان کریں
- مختلف ایکسیپشن اقسام کی نشاندہی کریں
- ایکسیپشن کلاسز استعمال کریں
- ایکسیپشنز کو نیسٹ کرنے کا طریقہ بیان کریں
مہارتیں جو آپ حاصل کریں گے
Exception HandlingJava (Programming Language)Java APIsJava KeywordsJava SyntaxManagement By Exceptionآپ کیا سیکھیں گے
- بیان کریں کہ پروگرام کے منسوخ ہونے سے پہلے پروگرام کے ایگزیکیوشن کے دوران پیدا ہونے والے مسائل سے نمٹنے کے لیے ایکسیپشنز (exceptions) کا استعمال کیسے کریں
- مختلف ایکسیپشن اقسام کی نشاندہی کریں، بشمول بلٹ ان اور یوزر ڈیفائنڈ، چیکڈ اور ان چیکڈ ایکسیپشنز
- ایکسیپشن کلاسز استعمال کریں جو Throwable کلاس کا حصہ ہیں
- وضاحت کریں کہ ایک ایکسیپشن کو دوسری ایکسیپشن کے اندر رکھ کر ایکسیپشنز کو نیسٹ (nest) کیسے کریں
- ایکسیپشنز کو تھرو (throw) اور کیچ (catch) کرنے اور مسائل کے پیش آنے سے پہلے ان کی نشاندہی کرنے کے لیے try-catch کا اطلاق کریں
- ہر انفرادی ایکسیپشن کے لیے کوڈ لکھنے سے بچنے کے لیے ایکسیپشنز کو گروپ کریں
اہم نکات
- ایکسیپشنز وہ مسائل ہیں جو پروگرام کے ایگزیکیوشن کے دوران پیدا ہوتے ہیں، اور پروگرام کے منسوخ ہونے سے پہلے ان سے نمٹا جا سکتا ہے۔
- ایکسیپشنز بلٹ ان یا یوزر ڈیفائنڈ ہو سکتی ہیں، اور یہ چیکڈ اور ان چیکڈ اقسام میں آتی ہیں۔
- ایکسیپشنز کو گروپ کرنے سے آپ ہر ایکسیپشن کے لیے الگ ہینڈلنگ کوڈ لکھنے سے بچ سکتے ہیں۔
- ایکسیپشنز کو تھرو اور کیچ کرنے سے مسائل کے پیش آنے سے پہلے ان کی نشاندہی کی جا سکتی ہے۔
- ایکسیپشن کلاسز Throwable کلاس کا حصہ ہیں، اور ایکسیپشنز کو ایک دوسرے کے اندر نیسٹ کیا جا سکتا ہے۔
اکثر پوچھے گئے سوالات
یہ Java Exceptions کورس کیا احاطہ کرتا ہے؟
یہ کورس احاطہ کرتا ہے کہ ایکسیپشنز کیا ہیں (پروگرام کے ایگزیکیوشن کے دوران مسائل)، پروگرام کے منسوخ ہونے سے پہلے ان سے کیسے نمٹا جائے، مختلف ایکسیپشن اقسام (بلٹ ان، یوزر ڈیفائنڈ، چیکڈ، اور ان چیکڈ)، انہیں کیسے گروپ کیا جائے، ایکسیپشنز کو کیسے تھرو اور کیچ کیا جائے، Throwable کلاس کے حصے کے طور پر ایکسیپشن کلاسز، اور ایکسیپشنز کو نیسٹ کیسے کیا جائے۔
کورس کے اختتام تک میں کیا کرنا سیکھ جاؤں گا؟
آپ یہ بیان کرنے کے قابل ہوں گے کہ ایکسیپشنز کو کیسے استعمال کیا جائے، مختلف ایکسیپشن اقسام کی نشاندہی کر سکیں گے، ایکسیپشن کلاسز کا استعمال کر سکیں گے، اور یہ بتا سکیں گے کہ ایکسیپشنز کو کیسے نیسٹ کیا جائے۔
اسباق میں کون سے موضوعات پڑھائے گئے ہیں؟
اسباق Exceptions، Try Catch، Life Cycle، Grouping، اور Nesting کا احاطہ کرتے ہیں۔
یہ کورس کون سی مہارتیں بنانے میں مدد کرتا ہے؟
یہ Exception Handling، Java (Programming Language)، Java APIs، Java Keywords، Java Syntax، اور Management By Exception میں مہارتیں بنانے میں مدد کرتا ہے۔
ایکسیپشنز کی کون سی مختلف اقسام کا احاطہ کیا گیا ہے؟
کورس بلٹ ان اور یوزر ڈیفائنڈ ایکسیپشنز کے ساتھ ساتھ چیکڈ اور ان چیکڈ ایکسیپشنز کا احاطہ کرتا ہے۔
متن
متن
اور آج کے سبق میں، ہم مستثنیات کے بارے میں جاننے جا رہے ہیں۔ مستثنیات کیا ہیں؟ ٹھیک ہے، وہ غیر معمولی واقعات ہیں. یہ ایک ایسا واقعہ ہے جو کسی پروگرام کے عمل کے دوران ہوتا ہے۔ اور جو کرتا ہے وہ خلل ڈالتا ہے۔ پروگرام کی ہدایات کا عام بہاؤ۔ اور جب یہ غلطی کسی طریقہ کے اندر ہوتی ہے، طریقہ ایک چیز بناتا ہے، اور اسے رن ٹائم سسٹم کے حوالے کر دیں۔ وہ اعتراض، جسے ایک استثنائی شے کہا جاتا ہے، غلطی کے بارے میں معلومات پر مشتمل ہے، پروگرام کی قسم اور حالت سمیت جب غلطی ہوئی. ایک استثناء آبجیکٹ بنانا اور اسے رن ٹائم سسٹم سے ہینڈل کرنا، استثنیٰ پھینکنے کے طور پر جانا جاتا ہے۔ پرانے دنوں میں، پروگرام اس کی میموری کا ایک سسٹم ڈمپ تیار کرے گا۔ اب ایک طریقہ کے بعد مستثنیٰ ہے، رن ٹائم سسٹم اسے سنبھالنے کے لیے کچھ تلاش کرنے کی کوشش کرتا ہے۔ استثناء کو سنبھالنے کے لیے ممکنہ چیزوں کا مجموعہ، ان طریقوں کی ترتیب دی گئی فہرست ہے جنہیں بلایا گیا ہے، طریقہ حاصل کرنے کے لیے جہاں غلطی ہوئی ہے۔ ہم مستثنیات کیوں استعمال کرتے ہیں؟ ٹھیک ہے، ہم جو کرنا چاہتے ہیں وہ ایرر ہینڈلنگ کوڈ کو الگ کرنا ہے۔ باقاعدہ کوڈ سے۔ مستثنیات ہمیں اس کی تفصیلات الگ کرنے کی اجازت دیتے ہیں کہ کیا کرنا ہے۔ جب کچھ غیر معمولی ہوتا ہے، اور ہم اسے پروگرام کی بنیادی منطق سے الگ کرتے ہیں۔ یہ ہمارے کوڈ کو پڑھنے میں بہت آسان بنا دیتا ہے۔ مستثنیات کی اقسام میں شامل ہے، اگر فائل ہو تو کیا ہوتا ہے۔ ہم کھولنے کی کوشش کر رہے ہیں، کیا کھولا نہیں جا سکتا؟ اگر فائل کی لمبائی کا تعین نہیں کیا جاسکتا ہے تو کیا ہوگا؟ اگر مختص کرنے کے لیے کافی میموری نہ ہو تو کیا ہوتا ہے؟ اگر پڑھنا ناکام ہو جائے تو کیا ہوتا ہے؟ اگر فائل بند نہیں ہوسکتی ہے تو کیا ہوگا؟ استثناء کے بغیر، ہمیں ایرر ہینڈلنگ کوڈ کو ملانا پڑے گا۔ اس کوڈ کے ساتھ جو اصل میں انجام دیتا ہے۔ پروگرام کی منطق. تو ہم فائل کھولتے ہیں، اگر فائل کھلتی ہے، پھر ہم فائل کی لمبائی کا تعین کرتے ہیں۔ اگر فائل کی لمبائی اچھی ہے، پھر ہم اتنی میموری مختص کرتے ہیں۔ اگر ہمارے پاس کافی میموری ہے، تو ہم فائل کو پڑھتے ہیں۔ جیسا کہ آپ دیکھ سکتے ہیں، بہت زیادہ خرابی کا پتہ لگانا ہے۔ کوڈ کے اندر، کہ کوڈ لمبا ہو جاتا ہے، اور پیروی کرنا مشکل ہے، نیسٹڈ اگر بیانات کی ایک سیریز کے ساتھ۔ جب کوڈ کے اندر جانچنے میں اتنی خرابی ہوتی ہے، ہم کوڈ کے منطقی بہاؤ کو کھو دیتے ہیں، اور یہ ڈیبگ کرنا مشکل بناتا ہے، اور بالکل سمجھیں کہ کوڈ کیا کر رہا ہے۔ ہم غلطی کی اقسام کو گروپ اور فرق کر سکتے ہیں، اور اس لیے کہ تمام مستثنیات ایک پروگرام کے اندر ڈال دی جاتی ہیں۔ اشیاء ہیں، گروپ بندی آسان ہو جاتی ہے، اور یہ طبقاتی درجہ بندی کا فطری نتیجہ ہے۔ جو جاوا نے بنایا ہے۔ ایک طریقہ اپنے گروپ کی بنیاد پر استثناء کو پکڑ سکتا ہے، یا عام قسم، استثناء میں سے کسی کی وضاحت کر کے کیچ اسٹیٹمنٹ میں سپر کلاسز۔ اور ہم اگلا کیچ اسٹیٹمنٹ کو دیکھیں گے۔ لیکن استثنیٰ ہینڈلرز کو ہر ممکن حد تک مخصوص ہونا چاہیے۔ استثناء کی قسم کا تعین کریں، بہترین بحالی کی حکمت عملی کا فیصلہ کرنے سے پہلے۔ مخصوص غلطیوں کو نہ پکڑ کر، ہینڈلرز کو کسی بھی امکان کو ایڈجسٹ کرنا چاہئے۔ اور اگر ہمارے پاس استثنائی ہینڈلرز ہیں جو بہت عام ہیں، جو کوڈ کو زیادہ خرابی کا شکار بنا سکتا ہے، مستثنیات کو پکڑنے اور سنبھالنے سے جس کا پروگرامر کو اندازہ نہیں تھا، اور اس کے لیے ہینڈلر کا ارادہ نہیں تھا۔ ایک استثناء کسی قسم کا واقعہ ہے۔ یہ پروگرام چلانے کے دوران ہوتا ہے، اور یہ پروگرام کے عام بہاؤ کو روکتا ہے۔ جب غلطی ہوتی ہے، تو طریقہ ایک آبجیکٹ بناتا ہے، اور اسے رن ٹائم سسٹم کے حوالے کر دیں۔ پردے کے پیچھے بہت سی چیزیں ہوتی ہیں، لیکن ہم ان مستثنیات کو سنبھال سکتے ہیں، اور کچھ آؤٹ پٹ تیار کرتے ہیں جو وضاحت کرتے ہیں کہ کیا ہوتا ہے۔ اب، مختلف ممکنہ مستثنیات کا ایک گروپ ہے، اور ہم ان میں سے ہر ایک کو سنبھال سکتے ہیں، اور ہم کیا دیکھنے جا رہے ہیں، اس استثنا کو کیسے ہینڈل کرنا ہے جو ہم جانتے ہیں کہ ہوسکتا ہے۔ مستثنیات اس کی تفصیلات کو الگ کر سکتے ہیں کہ کیا کرنا ہے۔ جب کچھ غیر معمولی ہوتا ہے، اور یہ اسے پروگرام کی بنیادی منطق سے الگ رکھتا ہے۔ اور چونکہ یہ تمام مستثنیات اشیاء ہیں، ہم ان کو گروپ یا درجہ بندی کر سکتے ہیں، تاکہ وہ سمجھ سکیں۔ جب ہم ان مستثنیات کو لکھتے ہیں، ہم ہر ممکن حد تک مخصوص ہونا چاہتے ہیں۔ اور آئیے ایک نظر ڈالیں بالکل وہی جو میں بات کر رہا ہوں۔ میں نیچے سکرول کروں گا، اور یہاں ہمارا پروگرام ہے۔ یہ ایک سادہ پروگرام ہے، میں انٹیجر بناتا ہوں، divide by zero کہا جاتا ہے، اور میں اسے صفر کے برابر سیٹ کرتا ہوں۔ پھر میرے پاس 45 لائن سے شروع ہونے والا کیچ بلاک ہے۔ یہاں خیال یہ ہے کہ اس سے پہلے کہ میں صفر سے تقسیم کروں، یہ جانچنے کے لئے جا رہا ہے کہ آیا ڈویژن کام کرے گا۔ اگر ریاضی کی کوئی استثناء ہے، یہ ریاضی کے استثنا کو پرنٹ کرے گا، اور ایک پیغام جو میں کرنے کی کوشش کر رہا تھا۔ اور پھر آخر میں ایک بلاک جو کہتا ہے، یہ ہونے جا رہا ہے کوئی بات نہیں. آئیے اس پروگرام کو چلاتے ہیں، اور دیکھتے ہیں کہ کیا ہوتا ہے۔ اب پہلی بار میں نے اسے چلایا ہے، میرے پاس یہ بالکل کام کر رہا ہے، کیونکہ میری تقسیم صفر سے پانچ ہے ایک سے۔ کیا ہوتا ہے اگر میں ایک کو صفر میں بدل دوں، اور میں صفر سے تقسیم کرنے کی کوشش کرتا ہوں، یہ کوڈ کی لائن ہے۔ یہ استثناء پیدا کرنے جا رہا ہے. پروگرام تقسیم کرنے کی کوشش کرے گا۔ جب استثناء ہوتا ہے، یہ ریاضی کے اس استثناء کو پکڑتا ہے، اور پھر پیغام پرنٹ کرتا ہے۔ آئیے اسے چلائیں اور دیکھیں کہ کیا ہوتا ہے۔ ہم نے صفر سے تقسیم کرنے کی کوشش کی، پانچ کو صفر سے تقسیم کیا۔ پروگرام نے ہماری غلطی پکڑی اور کہا، صفر کے حساب سے ریاضی کی رعایت مسئلہ ہے۔ اور آخر میں، کوڈ کے بلاک کو ہمیشہ عمل میں لایا جاتا ہے، اور صفر متغیر سے تقسیم کو تبدیل نہیں کیا گیا تھا۔ یہاں کیا جاننا ضروری ہے، کیا پروگرام کامیابی سے مکمل ہوا، اور پرنٹ آؤٹ وہ چیز ہے جس کا جائزہ لینے کی ضرورت ہے۔ یہ دیکھنے کے لیے کہ کیا غلط ہوا ہے۔ اب آپ جانتے ہیں کہ مستثنیات کو کس طرح سنبھالا جا سکتا ہے۔ اس سے پہلے کہ وہ آپ کے پروگرام میں کوئی مسئلہ پیدا کریں۔
چلتے پھرتے سیکھیں
اپنی تعلیم ہر جگہ ساتھ لے جائیں — KnowledgeCity موبائل ایپ آپ کو چلتے پھرتے اسباق دیکھنے کی سہولت دیتی ہے۔