Oprettelse af Brugerdefinerede Undtagelser
Stryg for at vise menuen
Når du udvikler mere komplekse Java-applikationer, kan du støde på fejl, der er unikke for programmets logik. Selvom Java tilbyder mange indbyggede undtagelser, er der situationer, hvor ingen af dem præcist beskriver det specifikke problem, du ønsker at rapportere. I sådanne tilfælde kan du oprette dine egne brugerdefinerede undtagelser. Brugerdefinerede undtagelser gør det muligt at give meningsfulde navne til fejlsituationer, hvilket gør din kode lettere at forstå, vedligeholde og fejlfinde. Ved at definere undtagelser, der er tilpasset applikationens behov, hjælper du andre udviklere (og dig selv i fremtiden) med hurtigt at identificere og håndtere specifikke fejlsituationer.
For at oprette en brugerdefineret undtagelse definerer du en ny klasse, der nedarver enten fra Exception-klassen eller RuntimeException-klassen. Hvis din undtagelse skal være checked (dvs. at compileren kræver, at du håndterer den med et try-catch-blok eller erklærer den med throws), skal du nedarve fra Exception. Hvis den skal være unchecked (ikke håndhævet af compileren), skal du nedarve fra RuntimeException. Din brugerdefinerede undtagelse kan indeholde konstruktører, felter og metoder ligesom enhver anden klasse, men det er almindeligt at tilføje mindst en konstruktør, der accepterer en besked, som beskriver fejlen.
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()); } } }
I koden ovenfor defineres en brugerdefineret checked exception ved at oprette klassen InvalidAgeException, som nedarver fra Exception. Denne klasse har en konstruktør, der accepterer en fejlmeddelelse. Metoden checkAge kaster en InvalidAgeException, hvis den angivne alder er mindre end 18.
I main-metoden kaldes checkAge(15), hvilket udløser undtagelsen. try-catch-blokken opfanger undtagelsen og udskriver dens meddelelse. Dette mønster viser, hvordan brugerdefinerede undtagelser kan anvendes til at håndtere specifikke fejlsituationer på en klar og organiseret måde.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat