خلاصه مطلب
در زبان برنامه نویسی جاوا، شما میتوانید با ایجاد یک کلاس جدید که از کلاس Exception یا RuntimeException ارثبری میکند، یک استثنای سفارشی بسازید.

لیست دوره های آکادمی جاوا پرو
دوره پرتاب | آموزش پیش نیازهای قبل از شروع برنامه نویسیدوره مقدماتی زبان برنامه نویسی جاوادوره جامع شاهکار پیشرفته جاوادوره جامع طلایی Spring Coreدوره آموزش فریمورک Spring Bootدوره پروژه محور Spring Boot - سیستم دانشگاهدوره جامع دژبان Spring securityدوره جامع نخبگان معماری میکروسرویس با Java و Spring Boot🔍 موضوع -> ساخت استثنای سفارشی در جاوا
در جاوا، شما میتوانید با ایجاد یک کلاس جدید که از کلاس Exception یا RuntimeException ارثبری میکند، یک استثنای سفارشی بسازید. تفاوت اصلی بین این دو کلاس در این است که Exception چکشده است و باید یا با try-catch مدیریت شود یا به متد فراخوانیکننده اعلام شود، در حالی که RuntimeException چکنشده است و نیازی به اعلام یا مدیریت اجباری ندارد.
🌟 مراحل ساخت استثنای سفارشی ایجاد کلاس استثنای سفارشی: یک کلاس جدید بسازید که از Exception یا RuntimeException ارثبری کند. سازندههای مناسب (constructor) را تعریف کنید. استفاده از استثنای سفارشی در برنامه: در جایی که شرایط خاصی رخ میدهد، این استثنا را با استفاده از کلمه کلیدی throw پرتاب کنید. استثناهای پرتاب شده را با استفاده از try-catch مدیریت کنید (برای استثناهای چکشده) یا اجازه دهید به متد فراخوانیکننده اعلام شوند.
💡مثال عملی در این مثال، یک استثنای سفارشی به نام InvalidAgeException ساخته و از آن در یک برنامه استفاده میشود.
| class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } }public class Main { public static void checkAge(int age) throws InvalidAgeException { if (age < 18) { throw new InvalidAgeException("Age is less than 18. Access denied."); } else { System.out.println("Access granted."); } } public static void main(String[] args) { int age = 16; try { checkAge(age); } catch (InvalidAgeException e) { System.out.println("Caught the exception: " + e.getMessage()); } } } |
📌 توضیحات کد: کلاس InvalidAgeException: این کلاس از Exception ارثبری میکند و یک سازنده که پیام خطا را به سوپر کلاس ارسال میکند، دارد. کلاس Main: متدی به نام checkAge وجود دارد که سن را بررسی میکند و در صورتی که کمتر از 18 باشد، استثنای InvalidAgeException را پرتاب میکند. در متد main سنی که باید بررسی شود تعیین شده و در یک بلوک try-catch، متد checkAge فراخوانی میشود. در صورت پرتاب شدن استثنا، پیام خطا در بلوک catch چاپ میشود.

