Hvordan lage et brukerdefinert unntak i Java

Hvordan lage et brukerdefinert unntak i Java
En feiltidsfeil som skjer mens en prosess utføres er et unntak. Programmet slutter brått når et unntak oppstår, og koden etter linjen som forårsaket unntaket, vil ikke utføre. I Java er unntaksklasser som Arithmeticexception, og NullPointerException allerede definert i "Unntak”Klasse. Du kan imidlertid gjøre et brukerdefinert unntak i Java og bruke kastet nøkkelordet med dem.

Denne håndboken lærer metoden for å lage Java-brukerdefinerte unntak.

Hvordan lage et brukerdefinert unntak i Java?

I Java kan du opprette et unntak og kaste det ved å bruke "kaste”Nøkkelord. Brukerdefinerte eller tilpassede unntak er navnene som er gitt til disse unntakene.

For å opprette et brukerdefinert unntak, vil du først utvide klassen med "Unntak”Klasse og bruk deretter en av de under-nevnte metodene:

  • getMessage () -metode
  • toString () -metode

La oss forstå begge metodene for å lage brukerdefinerte unntak med eksempler.

Metode 1: Lag et brukerdefinert unntak i Java ved hjelp av GetMessage () -metode

I denne delen vil vi bruke en "GetMessage ()”Metode for å kaste et unntak med“kaste”Nøkkelord. Vi vil passere en streng som brukes som et unntak fra foreldres konstruktør "Unntak”Klasse ved å påkalle“super()”Metode i den nåværende klassekonstruktøren.

Syntaks

Følg den gitte syntaks for brukerdefinert unntak:

obj.getMessage ();

Eksempel 1

Først vil vi utvide klassen vår til "Unntak”Klasse, og lag deretter en parameterisert konstruktør som tar en streng som vil bli kastet som et unntak. I konstruktøren av “Eksempel”Klasse, vi vil passere strengtypeparameteren”s”Og ring“super()”Metode med argument”s”Det blir sendt til en konstruktør av foreldreklassen:

publicExample (streng s)

Super (er);

I Main () -metoden vil vi først lage et objekt av klassen og passere en streng som et argument fordi klassen inneholder en parameterisert konstruktør. Kast deretter et unntak med objektet i klassen. Disse operasjonene vil bli lagt til i en prøvefangstblokk. Neste, i fangstblokken, vil vi kalle getMessage () -metoden for å skrive ut meldingen som sendes til foreldre unntaksklassen ved å bruke Super () -metoden:

publicStaticVoidmain (String [] args)
prøv
Eksempel ex = nytt eksempel ("Ugyldig oppføring");
Kast eks;
fangst (eksempel e)
System.ute.println ("fanget unntak");
System.ute.println (e.getMessage ());

Det brukerdefinerte unntaket blir kastet:

Det er ikke obligatorisk at du gir en streng til en foreldreklasse ved hjelp av Super () -metoden, du kan også opprette et brukerdefinert unntak ved å ringe en foreldres konstruktør uten å passere noen parameter.

Eksempel 2

I dette eksemplet vil vi opprette et brukerdefinert unntak uten å skrive ut noen melding. Her, først, vil vi lage en “UserdefinedException”Klasse som strekker seg til“Unntak”Klasse:

klasse brukerdefinedException utvider unntak

I hovedmetoden () metoden for “Eksempel”Klasse, vi vil kaste et unntak ved å lage et nytt objekt av den brukerdefinerte unntaksklassen. I fangstblokken vil vi kalle getMessage () -metoden for å skrive ut meldingen; Imidlertid vil den skrive ut ingen fordi vi ikke vil sende noen melding til det:

publicClassexample
publicStaticVoidmain (String [] args)
prøv
kastet brukerdefinedException ();
fangst (brukerdefinedException ue)
System.ute.println ("fanget unntak");
System.ute.Println (ue.getMessage ());


Produksjon

La oss se hvordan vi kan skrive ut unntaksdetaljer i stedet for å spesifisere det i foreldreklassekonstruktøren.

Metode 2: Lag et brukerdefinert unntak ved hjelp av toString () -metode

Hvis du vil skrive ut noen detaljer relatert til unntaket, bruk "toString ()”Metode.

Syntaks

Bruk den gitte syntaks for utskriftsmelding i brukerdefinert unntak:

public String toString ()
return ("melding");

Eksempel

Her vil vi lage en toString () -metode i den brukerdefinerte unntaksklassen som heter “UserdefinedException“Ved å utvide den med en“Unntak”Klasse. Metoden vil returnere strengen som vil bli skrevet ut:

classUserDefinedExceptionExtEndSexception
public String toString ()
retur ("Unntaket oppstår");

I Main () -metoden vil vi kalle å kaste unntaket ved å bruke “kaste”Søkeord ved å lage et nytt objekt i den brukerdefinerte klassen i en prøveblokk:

publicClassexample
publicStaticVoidmain (String [] args)
prøv
kastet brukerdefinedException ();
fangst (brukerdefinedException ue)
System.ute.println ("fanget unntak");
System.ute.println (UE);


Produksjon

Vi har samlet alle måtene å lage et brukerdefinert unntak i Java.

Konklusjon

For å lage et brukerdefinert unntak i Java, vil du først utvide klassen til unntaksklassen, og deretter bruke to metoder, GetMessage () og ToString () -metoder. Disse metodene brukes til å skrive ut meldingene som et unntak. Metoden GetMessage () skriver ut meldingen som sendes til foreldreklassekonstruktøren, mens ToString () -metoden returnerer strengen som vil bli brukt som en unntaksmelding. I denne håndboken forklarte vi metodene for å lage et Java-brukerdefinert unntak med eksempler.