Створення Користувацьких Винятків
Свайпніть щоб показати меню
Під час розробки складніших Java-додатків можуть виникати унікальні для вашої логіки помилки. Хоча Java надає багато вбудованих винятків, іноді жоден із них не описує конкретну проблему, яку потрібно повідомити. У таких випадках можна створити власні кастомні винятки. Кастомні винятки дозволяють надавати осмислені імена умовам помилок, що робить код зрозумілішим, легшим для підтримки та налагодження. Визначаючи винятки, які відповідають потребам вашого застосунку, ви допомагаєте іншим розробникам (і собі в майбутньому) швидко ідентифікувати та обробляти конкретні сценарії помилок.
Щоб створити кастомний виняток, потрібно визначити новий клас, який наслідує або від Exception, або від RuntimeException. Якщо ваш виняток має бути перевіряємим (тобто компілятор змушує обробляти його через блок try-catch або оголошувати через throws), наслідуйте від Exception. Якщо виняток має бути неперевіряємим (не контролюється компілятором), наслідуйте від RuntimeException. Ваш кастомний виняток може містити конструктори, поля та методи, як і будь-який інший клас, але зазвичай достатньо надати хоча б конструктор, який приймає повідомлення з описом помилки.
Main.java
123456789101112131415161718192021222324package com.example; 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 must be at least 18."); } System.out.println("Access granted. Age is valid."); } public static void main(String[] args) { try { checkAge(15); } catch (InvalidAgeException e) { System.out.println("Caught exception: " + e.getMessage()); } } }
У наведеному вище коді ви визначаєте власний перевіряємий виняток, створюючи клас InvalidAgeException, який наслідує Exception. Цей клас має конструктор, що приймає повідомлення про помилку. Метод checkAge генерує InvalidAgeException, якщо вказаний вік менше 18 років.
У методі main викликається checkAge(15), що спричиняє виникнення винятку. Блок try-catch перехоплює виняток і виводить його повідомлення. Цей підхід демонструє, як можна використовувати власні винятки для обробки конкретних помилкових ситуацій у зрозумілий і структурований спосіб.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат