Oppretting av Egendefinerte Unntak
Sveip for å vise menyen
Når du utvikler mer komplekse Java-applikasjoner, kan du støte på feilsituasjoner som er unike for programmets logikk. Selv om Java tilbyr mange innebygde unntak, hender det at ingen av dem tydelig beskriver det spesifikke problemet du ønsker å rapportere. I slike tilfeller kan du lage dine egne egendefinerte unntak. Egendefinerte unntak lar deg gi meningsfulle navn til feilsituasjoner, noe som gjør koden enklere å forstå, vedlikeholde og feilsøke. Ved å definere unntak som er tilpasset applikasjonens behov, hjelper du andre utviklere (og deg selv i fremtiden) med raskt å identifisere og håndtere spesifikke feilsituasjoner.
For å lage et egendefinert unntak, definerer du en ny klasse som utvider enten Exception-klassen eller RuntimeException-klassen. Hvis unntaket ditt skal være sjekket (det vil si at kompilatoren tvinger deg til å håndtere det med en try-catch-blokk eller erklære det med throws), utvider du Exception. Hvis det skal være usjekket (ikke håndhevet av kompilatoren), utvider du RuntimeException. Ditt egendefinerte unntak kan inkludere konstruktører, felt og metoder som enhver annen klasse, men det er vanlig å tilby minst en konstruktør som aksepterer en melding som beskriver feilen.
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 definerer du et egendefinert sjekket unntak ved å opprette klassen InvalidAgeException, som utvider Exception. Denne klassen har en konstruktør som tar imot en feilmelding. Metoden checkAge kaster et InvalidAgeException hvis den oppgitte alderen er mindre enn 18.
I main-metoden kaller du checkAge(15), som utløser unntaket. try-catch-blokken fanger opp unntaket og skriver ut meldingen. Dette mønsteret viser hvordan du kan bruke egendefinerte unntak for å håndtere spesifikke feilsituasjoner på en tydelig og organisert måte.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår