آشنایی با تفاوت های Throw و Throws در جاوا

مقدمه

سلام به همه پی وی لرنی های عزیز!
یک استثناء یا exception رویدادی است که هنگام اجرای یک برنامه در جاوا رخ می دهد و اساساً مانع اجرای کلی کد می شود.
بعضی اوقات سیستم به طور پیش فرض استثنا را کنترل می کند اما در بعضی موارد ما باید بر اساس کد یا موقعیت خود آن را بیابیم.
برای مدیریت خطا ها و استثناء ها می توان از روش های مختلفی چون throws، throw، catch، try و keywords استفاده کرد.
اما وقتی می خواهیم استثناء را درون کد خود تعریف کنیم، از throw استفاده می نماییم.
اما اگر بخواهیم چندین استثناء را به صراحت تعریف کنیم باید از throws استفاده کنیم.
در این مقاله قصد آشنایی با تفاوت های Throw و Throws در جاوا را داریم.

آشنایی با تفاوت های Throw و Throws در جاوا

بیایید پیش از پرداختن به تفاوت های Throw و Throws در جاوا آن ها را مختصراً بشناسیم.

Throw چیست؟

وقتی می خواهیم به هر استثنائی در کد خود که علامت گذاری نشده است رسیدگی کنیم، از Throw استفاده می نماییم.
به یاد داشته باشید فقط می توانیم یک نوع استثناء را همزمان با استفاده از Throw انجام دهیم.
بنابرین اگر می خواهید برای استفاده چندگانه از Throw استفاده کنید، باید بارها را تکرار نمایید.

سینتکس

مثال : 

مثال

مثال : 

Throws چیست؟

وقتی فرض کنیم ممکن است یک متد براساس experience برخی استثنائات را در کد ما نشان دهد، با استفاده از کلید واژه throws، به همه موارد استثناء اشاره می کنیم.
همه موارد استثناء با جدا شدن کاما ذکر خواهند شد.

سینتکس

مثال : 

مثال

مثال : 

مقایسه کلی

در ادامه جدولی ارائه شده است که بارزترین تفاوت های Throw و Throws را ارائه کرده است.

تفاوت های اساسیThrowThrows
چگونه یا چه زمانی استفاده کنیمدر این موارد، هنگامی که نیاز به logical exception در داخل کد داریم به طور کلی ، از کلمه کلیدی throw زیر یک تابع استفاده می کنیم.
مثال : 
در این موارد، هنگامی که statement یک تابع ممکن است به یک استثنا منجر شود به طور کلی از کلمه کلیدی throws با یک تابع برای رسیدگی به آن استثنائات استفاده می کنیم.
مثال : 

 
مبنای تعداد استثناء هادر یک زمان واحد می توان از throw فقط برای یک استثنا استفاده کرد.
بنابرین وقتی نیاز به یک استثناء خاص داریم ، از throw استفاده خواهیم کرد.
برای مثال:
مثال : 
هنگامی که نیاز به استثنائات متعدد داریم، می توانیم از throws استفاده کنیم – جایی که نام استثنائات با جدا شده توسط کاما ذکر شده است –
لذا هر گونه استثنائی که رخ دهد، به طور خودکار با استثنائات اعلام شده با throws مطابقت خواهد داشت و مطابق با آن رفتار می شود.
برای مثال:
مثال : 
از نظر سینتکساز throw درون یک تابع و یک نوع استثنا استفاده می کنیم
برای مثال:
مثال : 
با استفاده از نام کلاسهای استثنایی از throw با توابعی برای کنترل استثنائات متعدد استفاده خواهیم کرد.

برای مثال

مثال : 

چشم انداز بررسی شده / علامت گذاری نشدهاستثنائات بررسی شده با throw قابل کنترل نیست.
throw این تنها می تواند استثنائات بررسی نشده را کنترل کند که نمی توان با استفاده از throws یا checked exceptions آن ها را انجام داد.برای مثال:

مثال : 

هنگامی که ما apriori استثنا را می شناسیم و آنها را در در throws ذکر می کنیم، موجب بررسی شدن آن ها می شویم.

برای مثال:

مثال : 

کد نمونهThrow:

مثال : 

Throws:

مثال : 

 

کلام آخر

در این مقاله به آشنایی با تفاوت های Throw و Throws در جاوا پرداختیم.
موارد اشاره شده در این مقاله عمده تفاوت های بین Throw و Throws هستند.

امیدوارم این مقاله مفید بوده باشد.
با پی وی لرن همراه باشید.

به اشتراک بگذارید