Kuinka käsitellä Java-sovelluksen mukautettuja poikkeuksia?



Tämä artikkeli auttaa sinua ymmärtämään Java-sovelluksen mukautettuja poikkeuksia ja tukee selitystä käsitteen käytännön esittelyllä.

tarjoaa käyttäjälle mahdollisuuden luoda omat poikkeuksensa. Tällaisia ​​poikkeuksia kutsutaan mukautetuiksi poikkeuksiksi tai käyttäjän määrittelemiksi poikkeuksiksi. Tässä artikkelissa tutkitaan mukautettuja poikkeuksia Javassa.

Seuraavat vihjeet käsitellään tässä artikkelissa,





Tämän artikkelin aloittaminen Java-sovelluksen mukautetuista poikkeuksista.

Mukautetut poikkeukset Java-sovelluksessa

Mukautettuja poikkeuksia voidaan luoda seuraavasti:



[Java]
// luokka, joka edustaa käyttäjän määrittelemää poikkeusta
luokka InvalidAgeException laajentaa poikkeusta {
InvalidAgeException (merkkijonot) {
super (t)
}
}
[/ java]

// luokka, joka käyttää InvalidAgeException-luokan testiä {static void validate (int age) heittää 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') } } 

Tuotos:

Poikkeus: InvalidAgeException: virheellinen



Lopeta

Jatketaan tämän artikkelin mukautettuja poikkeuksia Javassa.

Mukautettujen poikkeusten tarve

Usein ohjelmoija löytää tarpeen määritellä oma poikkeuksensa.

Syyt näiden poikkeusten käyttöönottoon voivat olla seuraavat:

  • On olemassa tiettyjä poikkeuksia, jotka on määritelty vain liiketoimintalogiikalle ja työnkululle. Tämän avulla käyttäjät voivat määrittää ongelman lähteen.
  • Saada ja käsitellä olemassa olevia tai aiemmin määritettyjä Java-poikkeuksia.

Java tarjoaa käyttäjälle kaksi poikkeusta:

  • Mukautettu tarkastettu poikkeus
  • Mukautettu tarkistamaton poikkeus

Jatketaan tämän artikkelin kanssa Java-sovelluksen mukautetuista poikkeuksista.

java mitkä ovat instanssimuuttujia

Mukautetut tarkistetut poikkeukset

Mukautetut tarkistetut poikkeukset ovat poikkeuksia, jotka laajentavat java.lang.Exception. Ne ovat luonteeltaan palautettavissa ja niitä käsitellään nimenomaisesti. Seuraavassa esimerkissä kirjoitetaan koodi tiedoston ensimmäisen rivin palauttamiseksi lähtöön:

kokeile (Skanneritiedosto = uusi skanneri (uusi tiedosto (tiedostonimi))) {if (file.hasNextLine ()) palauta file.nextLine ()} catch (FileNotFoundException e) {}

Koodi heittää poikkeuksen FileNotFound. Tämän poikkeuksen syy ei ole käyttäjän tiedossa. Emme tiedä poikkeuksen lähdettä riippumatta siitä, johtuuko se tiedoston puuttumisesta vai virheellisestä tiedostonimestä. Mukautetun poikkeuksen toteuttamiseksi java.lang.Exception-luokkaa laajennetaan.

public class InvalidFileNameException laajentaa poikkeusta {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Luo mukautettu tarkistettu poikkeus nimeltä InvalidFileNameException.

Rakentaja on toimitettava poikkeusta luotaessa. Meidän tapauksessamme konstruktori ottaa Stringin virhesanomaksi ja kutsuu vanhemman luokan konstruktorin.

kokeile (Skanneritiedosto = uusi skanneri (uusi tiedosto (tiedostonimi))) {if (file.hasNextLine ()) palauta file.nextLine ()} catch (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {heitä uusi InvalidFileNameException ( 'Virheellinen tiedostonimi:' + tiedostonimi)}}

Vaikka käyttäjä on nyt tietoinen tarkasta poikkeuksesta, olemme menettäneet poikkeuksen perussyyn. Tämä voidaan korjata lisäämällä java.lang.Throwable konstruktorille. InvalidFileNameException-ohjelmaa voidaan nyt käyttää poikkeuksen perimmäisenä syynä:

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

Jatketaan tämän artikkelin kanssa Java-sovelluksen mukautetuista poikkeuksista

Mukautetut tarkistamattomat poikkeukset

Mukautetut tarkistetut poikkeukset laajentavat java.lang.RuntimeException. Niitä ei voida palauttaa luonteeltaan.

public class InvalidFileExtensionException laajentaa RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Tätä poikkeusta käytetään seuraavasti:

kokeile (Skanneritiedosto = uusi skanneri (uusi tiedosto (tiedostonimi))) {if (file.hasNextLine ()) {return file.nextLine ()} else {heitä uusi IllegalArgumentException ('Tiedostoa ei voi lukea.')}} catch ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {heitä uusi InvalidFileNameException ('Virheellinen tiedostonimi: + + tiedostonimi, virhe)}} catch (IllegalArgumentException err) {if (! SisältääExtension (fileName )xname (File' NameNimi) ei ole laajennusta: '+ fileName, err)}}

Käyttäjän määrittelemät poikkeukset ovat välttämättömiä, koska niiden avulla voimme määritellä omat poikkeuksemme.

Siksi olemme päässeet tämän artikkelin loppuun. Jos haluat oppia lisää, tutustu luotettavan verkkokoulutusyrityksen Edurekan Java-koulutukseen. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.