Erandiks on käitustõrge. On kahte tüüpi erandeid, mida nimetatakse kontrollitud ja märkimata eranditeks. Kontrollitud erandi tekkimisel ühendatakse Java-rakendus välise ressursiga, näiteks faili, seadme või andmebaasiga. Neid erandeid kontrollib kompilaator. Mõned kontrollitud erandite näited on IO erand ja FileNotFound erand. Kontrollimata erandi tekkimisel pole rakendus ühendatud ühegi välise ressursiga. Neid erandeid kompilaator ei kontrolli. Mõned näited kontrollimata eranditest on Aritmeetiline Erand ja ArrayOutOfBound Erand. Selles artiklis käsitletakse erinevust Java-s märgitud ja kontrollimata erandite vahel. võtme erinevus Java-s kontrollitud ja kontrollimata erandite vahel on see kontrollitud erandit kontrollib kompilaator, samas kui märkimata erandit ei kontrolli kompilaator.
1. Ülevaade ja peamised erinevused
2. Mis on Java kontrollitud erand?
3. Mis on Java-s märkimata erand
4. Javas kontrollitud ja märkimata erandite sarnasused
5. Kõrvuti võrdlus - kontrollitud ja kontrollimata erand Java-vormingus tabelina
6. Kokkuvõte
Kontrollitud erandi korral ühendatakse Java-rakendus välise ressursiga. See ressurss võib olla seade, näiteks printer. See võib olla fail või andmebaas. Seetõttu kontrollib kompilaator neid erandeid. IO erand on kontrollitud erand. See ilmneb seadme tõrke tõttu. Kui rakendus pääseb juurde failile, mida pole olemas, põhjustab see FileNotFoundi erandi. Andmete salvestamiseks saab rakenduse ühendada andmebaasiga, näiteks MySQL, Oracle jne. Kui andmebaasiga seoses ilmnes tõrge, on see SQL-i erand. Need on mõned näited kontrollitud eranditest. Kõigis neis on rakendus ühendatud välise ressursiga. Kontrollitud erandite korral on erandiga kohustuslik tegeleda. Kui seda ei käsitleta, lõpetatakse programmi õige voog ja klassifaili ei genereerita. Viga saab lahendada proovimise, püügibloki abil.
Joonis 01: kontrollitud erandkäsitlus
Eelneva kohaselt luges FileReader faili andmeid. Faili text1.txt ei ole määratletud asukohas. Kood, mis võib erandi teha, asetatakse prooviplokki. Prinditav kiri on püügiploki sees. Kuna pole faili nimega text1.txt, põhjustab see FileNotFoundException. Erandite käsitlemise abil prinditakse teade ekraanile.
Märkimata erandeid kompilaator ei kontrolli. Vastupidiselt kontrollitud eranditele, pole kontrollimata eranditega Java-rakendus ühendatud välise ressursiga, näiteks faili, andmebaasi või seadmega. Mõned levinumad kontrollimata erandid on aritmeetilised, ArrayOutOfBound ja NullPointer erandid.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
See põhjustab aritmeetilise erandi, kuna n-ö sukeldutakse a-ga. Vaadake allolevat koodi.
Joonis 02: Aritmeetiline erandkäsitlus
Ülaltoodud programmi kohaselt on muutuja a täisarv. Muutuja b on 0. Nende kahe arvu jagamisel jagatakse null. Seetõttu põhjustab see aritmeetilise erandi. Seda saab käsitseda proovipüügi ploki abil. Laused, mis võivad erandi põhjustada, paigutatakse prooviplokki. Kuvatav teade on püügiplokis.
Vaadake allolevat koodi.
int array1 [] = 1,2,3,4,5;
System.out.println (massiiv1 [5]);
See põhjustab erandi. Massiiv1 on 5 elemendiga massiiv. Massiivi lähteindeks on null. 5 printimineth indeksi väärtus põhjustab erandi, kuna see on piiratud. Massiivi1 maksimaalne indeks on 4.
Joonis 03: ArrayOutOfBound erandite käsitlemine
Ülaltoodud programmi kohaselt koosneb massiiv1 5 elementi. Elemendi indeksiga 6 printimine põhjustab erandi, kuna see on piiratud. Maksimaalne indeks, mida saab massiivis 1 salvestada, on 5. Veateade prinditakse püügiploki täites.
Javas kontrollitud või märkimata erand | |
Kontrollitud erand on käitustõrge, mida kompilaator kontrollib. | Kontrollimata erand on käitusviga, mida kompilaator ei kontrolli. |
Esinemine | |
Kontrollitud erandi korral ühendatakse Java-rakendus välise ressursiga, näiteks faili, seadme või andmebaasiga. | Märgistamata erandi korral pole Java-rakendus välise ressursiga ühendatud. |
Näited | |
IOException, FileNotFoundException, SQLException on mõned näited kontrollitud eranditest. | Aritmeetiline erand ArrayOutOfBoundException ja NullPointerException on mõned näited kontrollimata eranditest. |
Erandiks on sündmus, mis katkestab programmivoo täitmise. Erandeid on kahte tüüpi. Neid nimetatakse kontrollitud eranditeks ja kontrollimata eranditeks. Selles artiklis käsitleti erinevust kontrollitud ja kontrollimata erandite vahel. Erinevus Java-s kontrollitud ja kontrollimata erandite vahel on see, et kompilaator kontrollib kontrollitud erandit, samas kui kompilaator ei kontrolli märkimata erandit. Kuna erandid mõjutavad programmi täitmise õiget voogu, on nende käsitlemine hea programmitöö tava.
1.Punkt, juhendid. “Java erandid”., Juhendid, 8. jaanuar 2018. Saadaval siin
2.nareshtechnologies. Kontrollitud või märkimata erand || Core Java KKK videod, Naresh i Technologies, 31. detsember 2016. Saadaval siin