Kako ravnati z izjemami po meri v Javi?



Ta članek vam bo pomagal razumeti izjeme po meri v Javi, razlago pa bo podkrepil s praktičnim prikazom koncepta.

uporabniku ponuja možnost, da ustvari lastne izjeme. Takšne izjeme so znane kot izjeme po meri ali uporabniško določene izjeme. V tem članku bomo raziskali izjeme po meri v Javi.

V tem članku bodo zajeti naslednji napotki:





Uvod v ta članek o izjemah po meri v Javi.

Izjeme po meri v Javi

Izjeme po meri lahko ustvarite na naslednji način,



[Java]
// razred, ki predstavlja uporabniško definirano izjemo
class InvalidAgeException extends Exception {
InvalidAgeException (nizi) {
super (-i)
}
}
[/ java]

niz predmetov razreda java
// razred, ki uporablja preizkus razreda InvalidAgeException {static void validate (int age) vrže InvalidAgeException {if (age<18) throw new InvalidAgeException('Invalid') else System.out.println('Eligible to Drive') } public static void main(String args[]){ try{ validate(15) }catch(Exception m){System.out.println('Exception: '+m)} System.out.println('Exit') } } 

Izhod:

Izjema: InvalidAgeException: Neveljavno



Izhod

Nadaljujemo s tem člankom o izjemah po meri v Javi.

Potreba po izjemah po meri

Programer pogosto ugotovi, da je treba določiti lastno izjemo.

Razlogi za uvedbo teh izjem so lahko naslednji:

  • Obstajajo nekatere izjeme, ki so opredeljene samo za poslovno logiko in potek dela. To omogoča uporabnikom, da določijo vir težave.
  • Ujeti in obvladati obstoječe ali prej definirane izjeme Java.

Java uporabniku ponuja dve izjemi:

  • Izjema po meri
  • Neizključena izjema po meri

Nadaljujemo s tem člankom o izjemah po meri v Javi.

obdelava datotek v primeru Java

Preverjene izjeme po meri

Izjeme po meri so izjeme, ki razširjajo java.lang.Exception. V naravi jih je mogoče obnoviti in z njimi ravnamo izrecno. V naslednjem primeru je napisana koda, ki vrne prvo vrstico datoteke kot izhod:

poskusite (Datoteka optičnega bralnika = nov optični bralnik (nova datoteka (ime datoteke))) {if (file.hasNextLine ()) vrne datoteko.nextLine ()} catch (FileNotFoundException e) {}

Koda vrže izjemo FileNotFound. Vzrok te izjeme uporabniku ni znan. Ne poznamo vira izjeme, ne glede na to, ali je nastala zaradi neobstoja datoteke ali neveljavnega imena datoteke. Za izvajanje izjeme po meri se razširi razred java.lang.Exception.

javni razred InvalidFileNameException razširja izjemo {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Ustvari se izjema po meri, imenovana InvalidFileNameException.

Med ustvarjanjem izjeme je treba navesti konstruktor. V našem primeru konstruktor kot sporočilo o napaki vzame String in pokliče konstruktor nadrejenega razreda.

poskusite (Datoteka optičnega bralnika = nov optični bralnik (nova datoteka (ime datoteke))) {if (file.hasNextLine ()) vrne datoteko.nextLine ()} ulov (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {vrzi novo InvalidFileNameException ( 'Neveljavno ime datoteke:' + ime datoteke)}}

Čeprav se uporabnik zdaj zaveda natančne izjeme, smo izgubili osnovni vzrok izjeme. To lahko popravite tako, da v konstruktor dodate java.lang.Throwable. Izvir InvalidFileNameException je zdaj mogoče uporabiti z osnovnim vzrokom izjeme:

public InvalidFileNameException (String errorMessage, Throwable err) {super (errorMessage, err)}

Nadaljujemo s tem člankom o izjemah po meri v Javi

Neizključene izjeme po meri

Izjeme po meri preverjajo razširitev java.lang.RuntimeException. Po naravi jih ni mogoče obnoviti.

javni razred InvalidFileExtensionException razširja RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Ta izjema se uporablja na naslednji način:

poskusite (Datoteka optičnega bralnika = nov optični bralnik (nova datoteka (ime datoteke))) {if (file.hasNextLine ()) {return file.nextLine ()} else {vrzi novo IllegalArgumentException ('Datoteke ni mogoče brati.')}} catch ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {throw new InvalidFileNameException ('Invalid filename:' + fileName, err)}} catch (IllegalArgumentException err) {if (! VsebujeExtension (fileNameEx) Name nima pripone: '+ fileName, napaka)}}

Uporabniško določene izjeme so bistvene, saj nam omogočajo, da določimo izjeme, ki so naše lastne.

Tako smo prišli do konca tega članka. Če želite izvedeti več, si oglejte Java Training by Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje tega spletnega dnevnika, mi pa se vam bomo javili v najkrajšem možnem času.