throws
می خواهیم «کلیدواژه throws در جاوا» را ساده یاد بگیریم. «کلیدواژه (Keyword)» یعنی واژه دستوری برای کامپایلر. throws یعنی «اعلان نوع خطایی که یک متد ممکن است پرتاب کند».
تعریف و کاربرد throws
طبق منبع، کلیدواژه throws مشخص می کند یک متد چه «نوع استثنا (Exception Type)» ممکن است پرتاب کند. این اعلان کنار «امضای متد (Method Signature)» می آید و به خواننده و کامپایلر هشدار می دهد.
نمونه کد: اعلان استثنا با throws
اگر سن کمتر از 18 باشد، استثنا پرتاب می شود. در غیر این صورت، دسترسی می گیرد.
public class Main {
static void checkAge(int age) throws ArithmeticException {
if (age < 18) {
throw new ArithmeticException("Access denied - You must be at least 18 years old.");
}
else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
checkAge(15);
}
}
تفاوت throw و throws
منبع می گوید: throw داخل بدنه متد یک «شیء استثنا» می سازد و پرتاب می کند. اما throws کنار امضای متد می آید و «نوع یا انواع استثنا» را اعلام می کند.
- throw: پرتاب یک استثنا، داخل متد.
- throws: اعلام چند استثنا، کنار امضای متد.
تمرین مرحله ای
- یک متد با ورودی age بساز.
- در امضای متد،
throwsو نوع استثنا را بنویس. - اگر age کمتر از 18 بود،
throwکن. - در غیر این صورت، پیام تایید چاپ کن.
- متد را از
mainصدا بزن و خروجی را ببین.
نکته: می توانی با throws چند استثنا را اعلام کنی. اما throw در هر بار یک استثنا پرتاب می کند.
کلیدواژه throws را به عنوان مرجع سریع نگه دار.
تفاوت با throw را همین جا دقیق ببین.
try..catch در جاوا را هم بخوان تا مدیریت خطا کامل شود.
جمع بندی سریع
- throws یعنی اعلام نوع استثنا.
- در امضای متد استفاده می شود.
- می تواند چند استثنا را اعلام کند.
- با throw فرق دارد؛ throw داخل متد است.