جاوا میں تھرو اور تھرو کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 1 اپریل 2021
تازہ کاری کی تاریخ: 14 مئی 2024
Anonim
جاوا میں تھرو اور تھرو کے درمیان فرق - پروگرامنگ اسرار
ویڈیو: جاوا میں تھرو اور تھرو کے درمیان فرق - پروگرامنگ اسرار

مواد


تھرو اینڈ تھروس کلیدی الفاظ ہیں جو استثناء کی ہینڈلنگ میں استعمال ہوتے ہیں۔ پھینک دو کلیدی لفظ JVM کو دستی طور پر پروگرامر کے ذریعہ تیار کردہ استثنا کی مثال کے حوالے کرنے کے لئے استعمال ہوتا ہے۔ پھینک دیتا ہے مطلوبہ الفاظ کو استثناء کو سنبھالنے کی ذمہ داری کو کال کرنے کے طریقہ کار میں اس طریقہ کار میں پیش آیا۔ تھرو اور تھرو کے مابین بنیادی فرق یہ ہے کہ تھرو کیورڈ استثنیٰ آبجیکٹ کا استعمال کرتا ہے جبکہ تھروس کی ورڈ استثنیٰ کلاسوں کا نام استعمال کرتا ہے۔

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

موازنہ چارٹ

موازنہ کی بنیادپھینک دوپھینک دیتا ہے
بنیادیپھینک دیں مطلوبہ الفاظ کو دستی طور پر JVM پر ہمارے تخلیق کردہ استثناءی اعتراض کو منتقل کریں۔تھروڈز کی ورڈ کو استثنیٰ کی ذمہ داری طریقہ کے داعی کے حوالے کرنے کے لئے استعمال کیا جاتا ہے۔
نحوپھینک دوریٹرن_ٹائپ کا طریقہ_ نام (پیرامیٹر لسٹ) ایکسپیس کلاس_ لسٹ پھینک دیتا ہے
{
// طریقہ کا باڈی
}
اس کے بعدتھرو کیورڈ کے بعد رعایت آبجیکٹ آتا ہے۔تھروڈز کی ورڈ کے بعد مستثنیٰ کلاسوں کی فہرست دی گئی ہے جو طریقہ کار میں ہوسکتی ہے۔
پھینک دینے والے استثناء کی تعدادتھرو کیورڈ ایک رعایت مثال کو پھینک سکتا ہے۔تھروڈز کی ورڈ کوما سے الگ ہو کر متعدد استثناء کلاسوں کا اعلان کرسکتا ہے۔


پھینک کی تعریف

کلیدی لفظ "پھینک دو"ہماری تخلیق شدہ رعایت مثال JVM (جاوا ورچوئل مشین) کو دستی طور پر حوالے کرنے کے لئے استعمال ہوتی ہے۔ اگر "تھرو" استثناء مثال کے طور پر پھینکنے کے لئے استعمال نہیں کیا جاتا ہے اور استثناء ہوتا ہے تو ، پھر رن ٹائم سسٹم اندرونی طور پر رعایت مثال JVM پر پھینک دیتا ہے اور پروگرام غیر معمولی طور پر ختم ہوجاتا ہے۔ تھرو کیورڈ کی عمومی شکل یہ ہے:

پھینک پھینک دو

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

آئیے کیوڈ تھرو کو سمجھنے کے ل an ایک مثال لیں۔

کلاس ٹیسٹ {عوامی جامد باطل اہم (سٹرنگ آرگس) new پھیر پھیریں نیا ارثمیٹک ایکسپریشن ("/ صفر بذریعہ")؛ }

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


مطلوبہ الفاظ پھینک کے بارے میں یاد رکھنے کے لئے نکات:

  • یہ استثنیٰ کی چیز دستی طور پر جے وی ایم کے حوالے کردیتا ہے۔
  • یہ صارف کی وضاحت شدہ مستثنیات یا اپنی مرضی کے مطابق رعایتوں کے لئے بہترین استعمال ہوتا ہے۔
  • اگر میموری کو تھرو کیورڈ کے ذریعہ پھینکے جانے والے استثناء آبجیکٹ کے لئے مختص نہیں کیا جاتا ہے ، تو پھر رن ٹائم رعایت ہوتی ہے ، نول پوئنٹر ایکسپیسشن۔
  • تھرو کی ورڈ پروگرام کی موجودگی کے فورا بعد ہی اس پر عمل درآمد روک دیتا ہے۔ تھرو بیان کے بعد ہم براہ راست کوئی بیان نہیں لکھ سکتے۔ اگر ہم براہ راست تھرو بیان کے بعد کوئی staement لکھتے ہیں تو تالیف کے دوران تالیف ایک غلطی ، ناقابل رسائی بیان دکھائے گا۔
  • صرف پھینک دینے والے کلاس کی اشیاء کو تھرو کیورڈ کا استعمال کرکے پھینک دیا جاسکتا ہے۔ اگر پھینک دیا گیا سامان کلاس تھرو ایبل کا آبجیکٹ نہیں ہے تو پھر ہمیں ایک مرتب وقت کی غلطی مل جاتی ہے “متضاد قسم مل گئی۔ . مطلوبہ java.lang.Trowrowable ”

نوٹ:

تھرو کیورڈ C ++ ، جاوا ، C # میں دستی طور پر استثنیٰ دینے کے لئے استعمال ہوتا ہے۔

پھینک کی تعریف

پھینک دیتا ہے”کلیدی لفظ کو اس طریقہ کار میں رعایت سے نمٹنے کی ذمہ داری اپنے کال کرنے والے طریقہ کار کے سپرد کرنے کے لئے استعمال کیا جاتا ہے۔ کال کرنے کا طریقہ استثنیٰ کو سنبھالنے کے لئے ذمہ دار ہے یہ کوئی دوسرا طریقہ یا جے وی ایم ہوسکتا ہے۔ اس نے استثناء کلاسوں کی فہرست کا اعلان کیا ہے جو اس طریقہ کار میں ہوسکتی ہیں۔

تھروڈز کلیدی لفظ کے استعمال نے اس مرتب کو یہ باور کرایا کہ استثناء طریقہ کار میں رونما ہوا ہے لہذا کال کرنے والے کے ذریعہ سنبھالا جائے ، اس میں کوئی تالیف غلطی واقع نہیں ہوتی ہے۔ لیکن ، کال کرنے والے کے طریقہ کار کو استثناء کو سنبھالنا ہوگا یا استثنیٰ کو اپنے درجہ بندی کے طریقہ کار سے نمٹنے کے لئے ذمہ داری سونپی جائے۔ جب رن ٹائم کی رعایت ہوتی ہے ، تب بھی تھروس کی ورڈ کے استعمال کے بعد بھی ، اس پروگرام کو غیر معمولی طور پر ختم ہونے سے نہیں روکتا ہے۔ اگر کال کرنے کا طریقہ اہم () ہے تو ، بذریعہ طے شدہ JVM استثناء کو سنبھالتا ہے۔

تھروس والے مطلوبہ الفاظ کی عمومی شکل یہ ہے:

वापसी_ٹائپ کا طریقہ_ نام (پیرامیٹر لسٹ) نے استثناء پھینک دیاکلاس_اسٹ {// باڈی آف میتھڈ}

ہم دیکھ سکتے ہیں کہ تھروڈ کی ورڈ دستی کے دستخط کے بعد ظاہر ہوتا ہے ، اور اس میں استثناء کلاسوں کی فہرست ہوسکتی ہے جو اس طریقہ کار میں ہوسکتی ہیں۔ مطلوبہ الفاظ کے پھینکنے کے بعد لکھی گئی استثناء کلاسوں کی فہرست کوما سے الگ کردی گئی ہے۔

آئیے تھروس کی ورڈ کو سمجھنے کے لئے ایک مثال لیتے ہیں۔

کالس ٹیسٹ {عوامی جامد باطل اہم (سٹرنگ آرگس) نے خلل پڑا x تھریڈ سلیپ (10000)؛ }

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

مطلوبہ الفاظ کے بارے میں یاد رکھنے کے لئے نکات:

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

نوٹ:

مطلوبہ الفاظ کا استعمال صرف جاوا میں ہوتا ہے۔ C ++ اور C # تھروس کی ورڈ کا استعمال نہیں کرتے ہیں۔

  1. مطلوبہ الفاظ کو پھینک دیں ، دستی طور پر JVM کو استثنیٰ کی ہینڈلنگ کی ذمہ داری سونپ دیں جبکہ ، مطلوبہ الفاظ پھینک دیتے ہیں ، رعایت کی ذمہ داری کوڈ کے کال کرنے والے طریقہ کار کے حوالے کردیں جہاں ایک رعایت واقع ہوئی ہے۔
  2. تھرو کی ورڈ کے بعد مستثنیٰ آبجیکٹ سامنے آتا ہے جو یہ جے وی ایم کے حوالے کرتا ہے۔ دوسری طرف ، پھینک دیتا ہے مطلوبہ الفاظ کے بعد مستثنیٰ طبقات ہوتے ہیں جو اس طریقہ کار میں ہوسکتے ہیں۔
  3. تھرو کی ورڈ ایک وقت میں ایک ہی استثناء آبجیکٹ پھینک سکتا ہے ، جبکہ تھروس کی ورڈ ایک وقت میں کوما سے الگ متعدد استثناء کلاسوں کا اعلان کرسکتا ہے۔

نتیجہ:

تھرو کیورڈ اپنی مرضی کے مطابق رعایت کے لئے بہترین استعمال ہوتا ہے۔ تجاویز / کیچ بلاک مستثنیات کو سنبھالنے کے ل best بہترین ہے جیسا کہ مقابلے والے کیورڈ کے مقابلے میں ہے۔