جاوا میں غلطی اور استثناء کے درمیان فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 2 اپریل 2021
تازہ کاری کی تاریخ: 6 مئی 2024
Anonim
استثناء اور غلطی کے درمیان فرق
ویڈیو: استثناء اور غلطی کے درمیان فرق

مواد


جاوا کی غلطی اور استثناء درجہ بندی کی جڑ کے طور پر "پھینک دینے والا" کام کریں۔ "خرابی" ایک نازک حالت ہے جو پروگرام کے کوڈ کے ذریعہ سنبھل نہیں سکتی۔ "استثناء" ایک غیر معمولی صورتحال ہے جو پروگرام کے کوڈ کے ذریعہ سنبھالی جاسکتی ہے۔ غلطی اور استثناء کے درمیان اہم فرق یہ ہے کہ ایک غلطی نظام وسائل کی کمی کی وجہ سے ہے ، اور ایک رعایت آپ کے کوڈ کی وجہ سے ہے۔ آئیے ایک موازنہ چارٹ کے ساتھ غلطی اور استثنا کے درمیان دوسرے فرق کا بھی مطالعہ کریں۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادخرابیرعایت
بنیادینظام کے وسائل کی کمی کی وجہ سے ایک خرابی پیش آرہی ہے۔ایک رعایت کوڈ کی وجہ سے ہے۔
بازیافتایک غلطی ناقابل تلافی ہے۔ایک استثنیٰ وصولی قابل ہے۔
مطلوبہ الفاظپروگرام کوڈ کے ذریعہ کسی غلطی کو ہینڈل کرنے کا کوئی ذریعہ نہیں ہے۔استثناء کو تین کی ورڈز "آزمائیں" ، "کیچ" اور "پھینک" کا استعمال کرتے ہوئے سنبھالا جاتا ہے۔
نتائج
چونکہ غلطی کا پتہ چلتا ہے اس پروگرام کو غیر معمولی طور پر ختم کردیا جائے گا۔جیسے ہی کسی استثناء کا پتہ چل جاتا ہے ، تو یہ "تھرو" اور "کیچ" کے مطلوبہ الفاظ کے مطابق پھینک دیتے اور پکڑے جاتے ہیں۔
اقسام غلطیوں کو بغیر جانچے ہوئے قسم کے طور پر درجہ بندی کیا گیا ہے۔استثناء کی جانچ پڑتال یا غیر جانچ شدہ قسم کے طور پر درجہ بندی کی گئی ہے۔
پیکیج جاوا میں ، غلطیاں "java.lang.Error" پیکیج کی تعریف کی گئی ہیں۔جاوا میں ، "java.lang.Exception" میں مستثنیات کی وضاحت کی گئی ہے۔
مثالآؤٹ آف میموری ، اسٹیک اوورفلو۔چیک شدہ استثنائیں: NoSuchMethod ، ClassNotFound۔
چیک نہ کیے ہوئے استثناء: نول پوائنٹر ، انڈیکس آؤٹ باؤنڈز۔


غلطی کی تعریف

خرابی”بلٹ ان کلاس“ تھرو ایبل ”کا ایک ذیلی کلاس ہے۔ نقائص ان اہم حالات ہیں جو نظام کے وسائل کی عدم دستیابی کی وجہ سے پیش آتے ہیں ، اور پروگرام کے کوڈ کے ذریعہ اسے سنبھالا نہیں جاسکتا۔ غلطیاں کسی بھی طرح سے بازیافت نہیں کی جاسکتی ہیں کیونکہ ان کو پیدا نہیں کیا جاسکتا ، پھینک دیا جاسکتا ہے ، پکڑا جاسکتا ہے یا جواب نہیں دیا جاسکتا ہے۔ خرابیاں تباہ کن ناکامی کی وجہ سے ہوتی ہیں جو عام طور پر آپ کے پروگرام کے ذریعہ سنبھل نہیں سکتے ہیں۔

نقائص ہمیشہ چیکڈ قسم کے ہوتے ہیں ، کیوں کہ مرتب کرنے والے کو اس کی موجودگی کے بارے میں کوئی معلومات نہیں ہوتی ہے۔ خرابی ہمیشہ رن ٹائم ماحول میں ہوتی ہے۔ غلطی کو ایک مثال کی مدد سے سمجھایا جاسکتا ہے ، پروگرام میں اسٹیک اوور فلو کی غلطی ، میموری غلطی سے دور ، یا سسٹم کریش کی خرابی ہے ، اس قسم کی خرابی سسٹم کی وجہ سے ہے۔ کوڈ اس طرح کی غلطیوں کے لئے ذمہ دار نہیں ہے۔ غلطی کی موجودگی کا نتیجہ یہ ہے کہ پروگرام غیر معمولی طور پر ختم ہوجاتا ہے۔

استثناء کی تعریف

"استثناء" بلٹ ان کلاس "تھرو ایبل" کا ایک ذیلی کلاس بھی ہے۔ مستثنیات غیر معمولی حالات ہیں جو رن ٹائم ماحول میں پائے جاتے ہیں۔ زیادہ تر اوقات مستثنیات ہمارے پروگرام کے ضابطہ اخلاق کی وجہ سے رونما ہوتے ہیں۔ لیکن ، استثناء خود پروگرام ہی سنبھال سکتے ہیں ، کیونکہ استثناء وصولی کے قابل ہیں۔ استثناء کو تین کی ورڈز "آزمائیں" ، "کیچ" ، "تھرو" کا استعمال کرتے ہوئے سنبھالا جاتا ہے۔ استثنا لکھنے کا نحو یہ ہے:


{// یہاں اپنا کوڈ لکھیں write پکڑو (استثنا کی قسم) {// اپنا کوڈ یہاں لکھیں}

مذکورہ کوڈ میں ، ٹرائی بلاک میں لکھا ہوا کوڈ وہ کوڈ ہے جس کی آپ استثناء کے لئے نگرانی کرنا چاہتے ہیں۔ اگر رعایت کسی کوشش بلاک میں واقع ہوتی ہے تو ، اسے "پھینک دیں" کی ورڈ کا استعمال کرتے ہوئے پھینک دیا جاتا ہے۔ پھینک دی گئی استثناء کو مذکورہ کوڈ کے "کیچ" کے ذریعہ پکڑا جاسکتا ہے۔ رعایت کی قسم "استثنیٰ کی قسم" ہے۔

آسان الفاظ میں ہم یہ کہہ سکتے ہیں کہ غلط کوڈ کی وجہ سے غلطیاں ہوئی ہیں انھیں استثناء کہا جاتا ہے۔ مثال کے طور پر ، اگر ایک مطلوبہ کلاس نہیں ملی ہے ، یا مطلوبہ طریقہ نہیں ملا ہے۔ اس قسم کی مستثنیات پروگرام میں موجود کوڈ کی وجہ سے ہیں۔ اس قسم کی رعایتوں کا سسٹم ذمہ دار نہیں ہے۔ استثناء کو "جانچ پڑتال" اور "جانچے ہوئے" کے طور پر درجہ بندی کیا گیا ہے۔ جانچ پڑتال والی رعایتیں مرتب کرنے والے کے علم میں نہیں ہیں کیونکہ وہ رن ٹائم کے دوران ہوتی ہیں جبکہ ، مرتب کرنے والے کو جانچے ہوئے استثناء کے بارے میں علم ہوتا ہے کیونکہ وہ مرتب وقت کے دوران تالیف کرنے والے کے لئے جانا جاتا ہے۔

  1. غلطی اسی وقت ہوتی ہے جب سسٹم کے وسائل کی کمی ہوتی ہے ، اس کے باوجود ، اگر کوڈ میں کچھ دشواری ہو تو اس کی رعایت ہوتی ہے۔
  2. غلطی کو کبھی بھی بازیافت نہیں کیا جاسکتا ہے ، جبکہ استثناء کو سنبھالنے کے لئے کوڈ تیار کرکے ایک استثنیٰ برآمد کیا جاسکتا ہے۔
  3. کسی غلطی کو کبھی نہیں سنبھالا جاسکتا ہے لیکن ، اگر کوئی رعایت پھینکنے والا کوڈ ایک کوشش اور کیچ بلاک کے اندر لکھا جاتا ہے تو کوڈ کے ذریعہ ایک رعایت کو سنبھالا جاسکتا ہے۔
  4. اگر کوئی خرابی واقع ہوئی ہے تو ، اس پروگرام کو غیر معمولی طور پر ختم کردیا جائے گا۔ دوسری طرف ، اگر رعایت ہوتی ہے تو پروگرام ایک استثناء ڈال دیتا ہے ، اور اسے ٹرائی اینڈ کیچ بلاک کا استعمال کرتے ہوئے سنبھالا جاتا ہے۔
  5. نقائص کو چیک نہیں کیا جاتا ہے یعنی غلطی مرتب کرنے والوں کے علم میں نہیں ہے جبکہ ایک استثناء کی جانچ پڑتال اور جانچ پڑتال نہ کرنے کی درجہ بندی کی گئی ہے۔
  6. غلطی java.lang.Error پیکج میں بیان کی گئی ہے جبکہ ، ایک رعایت java.lang.Exception کی تعریف کی گئی ہے۔

نتیجہ:

مستثنیات پروگرام کے کوڈنگ میں کی جانے والی غلطیوں کے نتائج ہیں ، اور غلطیاں نظام کے غلط کام کا نتیجہ ہیں۔