Aangepaste Uitzonderingen Maken
Veeg om het menu te tonen
Bij het ontwikkelen van complexere Java-toepassingen kunt u foutensituaties tegenkomen die uniek zijn voor de logica van uw programma. Hoewel Java veel ingebouwde uitzonderingen biedt, beschrijft geen van deze soms duidelijk het specifieke probleem dat u wilt melden. In dergelijke gevallen kunt u uw eigen aangepaste uitzonderingen maken. Aangepaste uitzonderingen stellen u in staat om betekenisvolle namen te geven aan foutcondities, waardoor uw code eenvoudiger te begrijpen, te onderhouden en te debuggen is. Door uitzonderingen te definiëren die zijn afgestemd op de behoeften van uw toepassing, helpt u andere ontwikkelaars (en uzelf in de toekomst) om specifieke foutscenario's snel te identificeren en af te handelen.
Om een aangepaste uitzondering te maken, definieert u een nieuwe klasse die uitbreidt van de klasse Exception of de klasse RuntimeException. Als uw uitzondering gecontroleerd moet zijn (dat wil zeggen, de compiler dwingt u om deze af te handelen met een try-catch-blok of te declareren met throws), breidt u Exception uit. Als deze ongecontroleerd moet zijn (niet afgedwongen door de compiler), breidt u RuntimeException uit. Uw aangepaste uitzondering kan constructors, velden en methoden bevatten zoals elke andere klasse, maar het is gebruikelijk om ten minste een constructor te voorzien die een bericht accepteert dat de fout beschrijft.
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()); } } }
In de bovenstaande code definieer je een aangepaste gecontroleerde exceptie door de klasse InvalidAgeException te maken, die Exception uitbreidt. Deze klasse heeft een constructor die een foutmelding accepteert. De methode checkAge gooit een InvalidAgeException als de opgegeven leeftijd minder dan 18 is.
In de main-methode roep je checkAge(15) aan, wat de exceptie activeert. Het try-catch-blok vangt de exceptie op en drukt het bericht af. Dit patroon toont aan hoe aangepaste excepties gebruikt kunnen worden om specifieke foutcondities op een duidelijke en georganiseerde manier af te handelen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.