Ako zaobchádzať s vlastnými výnimkami v prostredí Java?



Tento článok vám pomôže pochopiť Custom Exceptions in Java a podporí vysvetlenie praktickou ukážkou konceptu.

poskytuje používateľovi možnosť vytvárať si vlastné výnimky. Takéto výnimky sa označujú ako vlastné výnimky alebo výnimky definované používateľom. V tomto článku sa budeme zaoberať vlastnými výnimkami v prostredí Java.

V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,





Začíname tento článok o vlastných výnimkách v prostredí Java.

Vlastné výnimky v prostredí Java

Vlastné výnimky je možné vytvoriť nasledovne,



[Java]
// trieda, ktorá predstavuje používateľom definovanú výnimku
trieda InvalidAgeException rozširuje výnimku {
InvalidAgeException (String s) {
super (y)
}
}
[/ java]

// trieda, ktorá používa InvalidAgeException test triedy {static void validate (int age) hodí 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') } } 

Výkon:

Výnimka: InvalidAgeException: Neplatná



trim () v jave

Východ

Pokračujeme týmto článkom o vlastných výnimkách v Jave.

Potreba vlastných výnimiek

Programátor často krát zistí potrebu určiť svoju vlastnú výnimku.

Dôvody zavedenia týchto výnimiek by mohli byť nasledujúce:

  • Existujú určité výnimky, ktoré sú definované iba pre obchodnú logiku a pracovný tok. Toto umožňuje používateľom určiť zdroj problému.
  • Na zachytenie a spracovanie existujúcich alebo predtým definovaných výnimiek Java.

Java poskytuje používateľovi dve výnimky:

  • Vlastná zaškrtnutá výnimka
  • Vlastná nekontrolovaná výnimka

Pokračujeme týmto článkom o vlastných výnimkách v Jave.

Vlastné zaškrtnuté výnimky

Vlastné kontrolované výnimky sú výnimky, ktoré rozširujú java.lang.Exception. Dajú sa získať v prírode a je s nimi zaobchádzané výslovne. V nasledujúcom príklade je napísaný kód, ktorý vráti prvý riadok súboru ako výstup:

vyskúšať (súbor skenera = nový skener (nový súbor (názov súboru))) {if (file.hasNextLine ()) vrátiť súbor.nextLine ()} chytiť (FileNotFoundException e) {}

Tento kód vyvolá výnimku FileNotFound. Príčina tejto výnimky nie je používateľovi známa. Nie sme si vedomí zdroja výnimky, či už bola spôsobená neexistenciou súboru alebo neplatným názvom súboru. Pre implementáciu vlastnej výnimky je rozšírená trieda java.lang.Exception.

verejná trieda InvalidFileNameException rozširuje výnimku {public InvalidFileNameException (reťazec errorMessage) {super (errorMessage)}}

Vytvorí sa vlastná kontrolovaná výnimka s názvom InvalidFileNameException.

Pri vytváraní výnimky musí byť uvedený konštruktor. V našom prípade konštruktor vezme String ako chybovú správu a zavolá konštruktor nadradenej triedy.

try (Scanner file = new Scanner (new File (fileName)))) {if (file.hasNextLine ()) return file.nextLine ()} catch (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {throw new InvalidFileNameException ( „Neplatný názov súboru:“ + názov súboru)}}

Aj keď si používateľ teraz uvedomuje presnú výnimku, stratili sme jej hlavnú príčinu. Toto je možné opraviť pridaním java.lang.Throwable do konštruktora. Výnimku InvalidFileNameException je teraz možné použiť s hlavnou príčinou výnimky:

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

Pokračujeme týmto článkom o vlastných výnimkách v Jave

Vlastné nekontrolované výnimky

Vlastné kontrolované výnimky rozširujú java.lang.RuntimeException. V prírode sú neobnoviteľné.

verejná trieda InvalidFileExtensionException rozširuje RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Táto výnimka sa používa takto:

try (Scanner file = new Scanner (new File (fileName)))) {if (file.hasNextLine ()) {return file.nextLine ()} else {throw new IllegalArgumentException ('File is not readable.')}} catch ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {throw new InvalidFileNameException ('Invalid filename:' + fileName, err)}} catch (IllegalArgumentException err) {if (! ContainsExtension (fileName)) {throw new InvalidFileExtensionException ('Filename nemá žiadnu príponu: '+ názov súboru, chyba)}}

Používateľom definované výnimky sú nevyhnutné, pretože nám umožňujú definovať naše vlastné výnimky.

Týmto sme sa dostali na koniec tohto článku. Ak sa chcete dozvedieť viac, vyskúšajte Java Training by Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.