Kaip elgtis su „Java“ pasirinktinėmis išimtimis?



Šis straipsnis padės jums suprasti „Java“ pasirinktines išimtis ir padės paaiškinti praktiškai pademonstruojant sąvoką.

suteikia vartotojui galimybę kurti savo išimtis. Tokios išimtys yra žinomos kaip pasirinktinės išimtys arba vartotojo nustatytos išimtys. Šiame straipsnyje mes išnagrinėsime „Java“ pritaikytas išimtis.

c ++ fibonacci rekursija

Tolimesni patarimai bus aptarti šiame straipsnyje,





Šio straipsnio apie „Java“ pasirinktines išimtis pradžia.

Pasirinktinės „Java“ išimtys

Pasirinktines išimtis galima sukurti taip:



[Java]
// klasė, kuri reiškia vartotojo apibrėžtą išimtį
„InvalidAgeException“ klasė išplečia išimtį {
„InvalidAgeException (eilutės)“ {
super (-iai)
}
}
[/ java]

// klasė, kuri naudoja „InvalidAgeException“ klasės testą {static void validate (int age) meta 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') } } 

Išvestis:

Išimtis: InvalidAgeException: neteisinga



Išeiti

Toliau einame su šiuo straipsniu apie „Java“ pasirinktines išimtis.

Individualių išimčių poreikis

Dažnai programuotojas mano, kad reikia nurodyti savo išimtį.

Priežastys įvesti šias išimtis gali būti šios:

  • Yra tam tikrų išimčių, kurios apibrėžtos tik verslo logikai ir darbo eigai. Tai leidžia vartotojams nustatyti problemos šaltinį.
  • Gauti ir tvarkyti esamas arba anksčiau apibrėžtas „Java“ išimtis.

„Java“ suteikia vartotojui dvi išimtis:

  • Pasirinktinai patikrinta išimtis
  • Pasirinktinė nepažymėta išimtis

Toliau einame su šiuo straipsniu apie „Java“ pasirinktines išimtis.

Pasirinktinai patikrintos išimtys

Pasirinktinai patikrintos išimtys yra išimtys, pratęsiančios java.lang.Exception. Jie yra susigrąžintino pobūdžio ir yra aiškiai tvarkomi. Šiame pavyzdyje yra parašytas kodas, kuris grąžina pirmąją failo eilutę kaip išvestį:

pabandykite (Scanner file = new Scanner (new File (fileName))) {if (file.hasNextLine ()) return file.nextLine ()} catch (FileNotFoundException e) {}

Kodas išmeta išimtį „FileNotFound“. Šios išimties priežastis vartotojui nežinoma. Mes nežinome išimties šaltinio, nesvarbu, ar ji atsirado dėl failo neegzistavimo, ar dėl neteisingo failo pavadinimo. Norint įgyvendinti pasirinktinę išimtį, pratęsta java.lang.Exception klasė.

public class InvalidFileNameException pratęsia išimtį {public InvalidFileNameException (String errorMessage) {super (errorMessage)}}

Sukurta pasirinktinė patikrinta išimtis, vadinama InvalidFileNameException.

Kuriant išimtį turi būti pateiktas konstruktorius. Mūsų atveju konstruktorius klaidos pranešime laiko eilutę String ir iškviečia tėvų klasės konstruktorių.

pabandykite (Skaitytuvo failas = naujas Skaitytuvas (naujas failas (failo vardas)))) {if (file.hasNextLine ()) grąžinti file.nextLine ()} sugauti (FileNotFoundException e) {if (! isCorrectFileName (fileName)) {mest naują InvalidFileNameException ( „Neteisingas failo pavadinimas:“ + failo vardas)}}

Nors vartotojas jau žino tikslią išimtį, mes praradome pagrindinę išimties priežastį. Tai galima išspręsti pridėjus java.lang.Trown prie konstruktoriaus. „InvalidFileNameException“ dabar gali būti naudojama su pagrindine išimties priežastimi:

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

Toliau einame su šiuo straipsniu apie „Java“ pasirinktines išimtis

Tinkintos nepažymėtos išimtys

Tinkintos patikrintos išimtys praplečia java.lang.RuntimeException. Jie yra neatkuriami.

public class InvalidFileExtensionException pratęsia RuntimeException {public InvalidFileExtensionException (String errorMessage, Throwable err) {super (errorMessage, err)}}

Ši išimtis naudojama taip:

pabandykite (Skaitytuvo failas = naujas Skaitytuvas (naujas failas (failoVardas)))) {if (file.hasNextLine ()) {return file.nextLine ()} else {mest naują IllegalArgumentException ('Failas neskaitomas.')}} gaudyti ( FileNotFoundException err) {if (! IsCorrectFileName (fileName)) {mesti naują InvalidFileNameException ('Neteisingas failo pavadinimas:' + failo vardas, klaida)}} sugauti (neteisėtasArgumentException klaida) {if (! YraExtension (failo_vardas) neturi jokio plėtinio: '+ fileName, err)}}

Vartotojo nustatytos išimtys yra būtinos, nes jos leidžia mums apibrėžti mūsų pačių išimtis.

Taigi mes priėjome šį straipsnį. Jei norite sužinoti daugiau, apsilankykite patikimos internetinės mokymosi įmonės „Edureka“ „Java“ mokymuose. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.