Kuidas Java-s kohandatud erandeid käsitleda?



See artikkel aitab teil mõista Java kohandatud erandeid ja toetab selgitust kontseptsiooni praktilise tutvustamisega.

annab kasutajale võimaluse luua oma erandid. Selliseid erandeid nimetatakse kohandatud eranditeks või kasutaja määratud eranditeks. Selles artiklis uurime Java-s kohandatud erandeid.

Järgmisi näpunäiteid käsitletakse selles artiklis,





Selle artikli alustamine Java-s kohandatud erandite kohta.

Kohandatud erandid Java-s

Kohandatud erandeid saab luua järgmiselt:



[Java]
// klass, mis tähistab kasutaja määratletud erandit
klass InvalidAgeException laiendab erandit {
InvalidAgeException (stringid) {
super (id)
}
}
[/ java]

// klass, mis kasutab InvalidAgeException klassi testi {static void validate (int age) viskab InvalidAgeException {if (vanus)<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') } } 

Väljund:

Erand: InvalidAgeException: Kehtetu



Välju

Selle Java-i kohandatud erandeid käsitleva artikliga jätkamine.

Kohandatud erandite vajadus

Sageli leiab programmeerija vajaduse täpsustada oma erand.

Nende erandite kehtestamise põhjused võivad olla järgmised:

kuidas luua üksikklass jaavas
  • On teatud erandeid, mis on määratletud ainult äriloogika ja töövoo jaoks. See võimaldab kasutajatel määrata probleemi allika.
  • Olemasolevate või varem määratletud Java-erandite püüdmiseks ja käsitsemiseks.

Java pakub kasutajale kahte erandit:

  • Kohandatud kontrollitud erand
  • Kohandatud kontrollimata erand

Selle Java-i kohandatud erandeid käsitleva artikliga jätkamine.

ringi robini ajastamise algoritm c-s

Kohandatud kontrollitud erandid

Kohandatud kontrollitud erandid on erandid, mis laiendavad java.lang.Exception. Need on oma olemuselt taastatavad ja neid käsitletakse selgesõnaliselt. Järgmises näites kirjutatakse kood faili esimese rea tagastamiseks väljundina:

proovige (Skannerifail = uus Skanner (uus fail (failinimi))) {if (file.hasNextLine ()) tagastab file.nextLine ()} saak (FileNotFoundException e) {}

Kood viskab erandi FileNotFound. Selle erandi põhjus pole kasutajale teada. Me ei tea erandi allikat, olenemata sellest, kas see on põhjustatud faili olematust või vale failinime tõttu. Kohandatud erandi rakendamiseks laiendatakse klassi java.lang.Exception.

public class InvalidFileNameException laiendab erandit {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Luuakse kohandatud kontrollitud erand nimega InvalidFileNameException.

Erandi loomisel peab olema kaasas konstruktor. Meie puhul võtab konstruktor veateate String ja kutsub emaklassi konstruktori.

proovige (Skannerifail = uus Skanner (uus fail (failinimi))) {if (file.hasNextLine ()) tagastab file.nextLine ()} saagi (FileNotFoundException e) {if (! isCorrectFileName (failinimi)) {visake uus InvalidFileNameException ( 'Vale failinimi:' + failinimi)}}

Kuigi kasutaja on nüüd täpsest erandist teadlik, oleme erandi algpõhjuse kaotanud. Seda saab parandada, lisades java.lang.Trove'i konstruktorile. InvalidFileNameExceptionit saab nüüd kasutada erandi algpõhjusena:

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

Selle Java-i kohandatud erandeid käsitleva artikliga jätkamine

Kohandatud kontrollimata erandid

Kohandatud kontrollitud erandid laiendavad java.lang.RuntimeException. Need on oma olemuselt taastamatud.

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

Seda erandit kasutatakse järgmiselt:

proovige (Skannerifail = uus Skanner (uus fail (failinimi))) {if (file.hasNextLine ()) {return file.nextLine ()} else {visake uus IllegalArgumentException ('Fail pole loetav.')}} saak ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {visake uus InvalidFileNameException ('Kehtetu failinimi:' + failinimi, ekslik)}} saak (IllegalArgumentException err) {if (! SisaldabExtension (failinimi )xcame uus sellel pole laiendust: '+ failinimi, viga)}}

Kasutaja määratletud erandid on hädavajalikud, kuna need võimaldavad meil defineerida erandeid.

Seega oleme jõudnud selle artikli lõppu. Kui soovite rohkem teada saada, vaadake usaldusväärse veebipõhise õppefirma Edureka Java koolitust. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud selleks, et õpetada teid nii Java põhiliste kui ka edasijõudnute kontseptsioonide jaoks koos erinevate Java-raamistikega nagu Hibernate & Spring.

Kas teil on meile küsimus? Palun mainige seda selle blogi kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.