Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oppretting av Egendefinerte Unntak | Seksjon
Java Unntakshåndtering

bookOppretting 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

Main.java

copy
123456789101112131415161718192021222324
package 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.

question mark

Hva må du gjøre for å opprette et egendefinert sjekket unntak i Java?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 8

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 1. Kapittel 8
some-alt