Kā rīkoties ar Java pielāgotiem izņēmumiem?



Šis raksts palīdzēs jums saprast Java pielāgotos izņēmumus un atbalstīs skaidrojumu ar praktisku koncepcijas demonstrēšanu.

nodrošina lietotājam iespēju izveidot savus izņēmumus. Šādi izņēmumi ir pazīstami kā pielāgoti izņēmumi vai lietotāja noteikti izņēmumi. Šajā rakstā mēs izpētīsim Java pielāgotos izņēmumus.

Šajā rakstā tiks apskatīti šādi norādījumi,





Darba sākšana šajā rakstā par Java pielāgotajiem izņēmumiem.

Pielāgoti izņēmumi Java

Pielāgotus izņēmumus var izveidot šādi:



[Java]
// klase, kas apzīmē lietotāja definētu izņēmumu
klase InvalidAgeException paplašina izņēmumu {
InvalidAgeException (virkne s) {
super (s)
}
}
[/ java]

// klase, kas izmanto InvalidAgeException klases testu {static void validate (int age) throws 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') } } 

Izeja:

Izņēmums: InvalidAgeException: nederīgs



Izeja

Turpinot šo rakstu par Java pielāgotajiem izņēmumiem.

Nepieciešamība pēc pielāgotiem izņēmumiem

Bieži vien programmētājs uzskata, ka ir nepieciešams norādīt savu izņēmumu.

Iemesli šādu izņēmumu ieviešanai varētu būt šādi:

kāda ir atšķirība starp pārslodzi un pārsvaru
  • Ir daži izņēmumi, kas noteikti tikai biznesa loģikai un darbplūsmai. Tas ļauj lietotājiem noteikt problēmas avotu.
  • Lai noķertu un apstrādātu esošos vai iepriekš definētos Java izņēmumus.

Java nodrošina lietotājam divus izņēmumus:

  • Pielāgots pārbaudīts izņēmums
  • Pielāgots nepārbaudīts izņēmums

Turpinot šo rakstu par Java pielāgotajiem izņēmumiem.

java kā izmantot

Pielāgoti pārbaudīti izņēmumi

Pielāgoti pārbaudītie izņēmumi ir izņēmumi, kas paplašina java.lang.Exception. Tie ir atgūstami pēc būtības un tiek skaidri apstrādāti. Šajā piemērā kods tiek ierakstīts, lai atgrieztu faila pirmo rindu kā izvadi:

mēģiniet (Skenera fails = jauns skeneris (jauns fails (faila nosaukums))) {if (file.hasNextLine ()) atgriežas file.nextLine ()} catch (FileNotFoundException e) {}

Kods izmet izņēmumu FileNotFound. Lietotājam nav zināms šī izņēmuma cēlonis. Mēs nezinām izņēmuma avotu, neatkarīgi no tā, vai tas radies faila neesamības vai nepareiza faila nosaukuma dēļ. Lai ieviestu pielāgotu izņēmumu, tiek paplašināta java.lang.Exception klase.

public class InvalidFileNameException paplašina izņēmumu {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Tiek izveidots pielāgots pārbaudīts izņēmums ar nosaukumu InvalidFileNameException.

Izveidojot izņēmumu, jānodrošina konstruktors. Mūsu gadījumā konstruktors par kļūdas ziņojumu uzskata virkni String un izsauc vecāku klases konstruktoru.

mēģiniet (Skenera fails = jauns skeneris (jauns fails (faila nosaukums)))) {if (file.hasNextLine ()) atgriež file.nextLine ()} catch (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {mest jaunu InvalidFileNameException ( 'Nederīgs faila nosaukums:' + faila nosaukums)}}

Lai gan lietotājs tagad zina precīzu izņēmumu, mēs esam zaudējuši izņēmuma pamatcēloņu. To var novērst, pievienojot konstruktoram java.lang.Trowable. InvalidFileNameException tagad var izmantot ar izņēmuma pamatcēloņu:

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

Turpinot šo rakstu par Java pielāgotajiem izņēmumiem

Pielāgoti nepārbaudīti izņēmumi

Pielāgoti pārbaudītie izņēmumi paplašina java.lang.RuntimeException. Tās ir neatgūstamas pēc būtības.

public class InvalidFileExtensionException paplašina RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Šis izņēmums tiek izmantots šādi:

mēģiniet (Skenera fails = jauns skeneris (jauns fails (faila nosaukums))) {if (file.hasNextLine ()) {return file.nextLine ()} else {mest jaunu IllegalArgumentException ('Fails nav lasāms.')}} catch ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {mest jaunu InvalidFileNameException ('Nederīgs faila nosaukums:' + faila nosaukums, kļūdains)}} catch (IllegalArgumentException kļūdas) {if (! SaturExtension (fileName )xcame nav paplašinājuma: '+ fileName, err)}}

Lietotāja noteikti izņēmumi ir būtiski, jo tie ļauj mums definēt izņēmumus, kas ir mūsu pašu.

Tādējādi mēs esam nonākuši pie šī raksta beigām. Ja vēlaties uzzināt vairāk, skatiet uzticamo tiešsaistes mācību uzņēmumu Edureka Java apmācību. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts, lai apmācītu jūs gan galvenajiem, gan uzlabotajiem Java jēdzieniem kopā ar dažādiem Java ietvariem, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.