Šioje pamokoje sužinosime apie „Java“ išimtis. Mes apimsime klaidas, išimtis ir įvairias „Java“ išimčių rūšis.
Išimtis yra netikėtas įvykis, įvykęs vykdant programą. Tai turi įtakos programos instrukcijų srautui, dėl kurio programa gali nenormaliai nutrūkti.
Išimtis gali atsirasti dėl daugelio priežasčių. Kai kurie iš jų yra:
- Neteisingas vartotojo įvestis
- Įrenginio gedimas
- Tinklo ryšio praradimas
- Fiziniai apribojimai (trūksta disko atminties)
- Kodo klaidos
- Atidaromas nepasiekiamas failas
„Java“ išimčių hierarchija
Čia yra supaprastinta „Java“ išimčių hierarchijos schema.
Kaip matote iš aukščiau esančio paveikslėlio, Throwable
klasė yra šaknis hierarchijoje.
Atkreipkite dėmesį, kad hierarchija padalijama į dvi šakas: Klaida ir Išimtis.
Klaidos
Klaidos rodo neatkuriamas sąlygas, tokias kaip „Java“ virtualiosios mašinos (JVM) atminties trūkumas, atminties nutekėjimas, kamino perpildymo klaidos, bibliotekos nesuderinamumas, begalinis rekursija ir kt.
Klaidos paprastai negali kontroliuoti programuotojo, todėl neturėtume bandyti tvarkyti klaidų.
Išimtys
Programa gali sugauti ir spręsti išimtis .
Kai metodo metu įvyksta išimtis, ji sukuria objektą. Šis objektas vadinamas išimties objektu.
Joje pateikiama informacija apie išimtį, pvz., Išimties pavadinimas ir aprašymas bei programos būsena, kai įvyko išimtis.
Kaip elgtis su šiomis išimtimis, sužinosime kitoje pamokoje. Šioje pamokoje dabar sutelksime dėmesį į įvairias „Java“ išimtis.
„Java“ išimčių tipai
Išimčių hierarchija taip pat turi dvi šakas: RuntimeException
ir IOException
.
1. RuntimeException
Vykdymo išimtis atsitinka dėl programavimo klaidos. Jie taip pat žinomi kaip nepatikrintos išimtys .
Šios išimtys tikrinamos ne kompiliavimo metu, o vykdymo metu. Kai kurios įprastos vykdymo laiko išimtys yra šios:
- Netinkamas API naudojimas -
IllegalArgumentException
- Nėra žymeklio prieigos (trūksta kintamojo inicijavimo) -
NullPointerException
- Prieigos prie ribų masyvas -
ArrayIndexOutOfBoundsException
- Skaičiaus padalijimas iš 0 -
ArithmeticException
Galite galvoti apie tai tokiu būdu. „Jei tai yra vykdymo laiko išimtis, tai kalta jūs“.
To NullPointerException
nebūtų buvę, jei prieš naudodami patikrintumėte, ar kintamasis buvo inicijuotas, ar ne.
ArrayIndexOutOfBoundsException
Nebūtų įvykę, jei išbandė masyvo indeksą prieš masyvo ribų.
2. IOException
An IOException
taip pat žinomas kaip patikrinta išimtis . Kompiliatorius juos tikrina kompiliavimo metu ir programuotojas paraginamas tvarkyti šias išimtis.
Keletas patikrintų išimčių pavyzdžių yra šie:
- Bandant atidaryti neegzistuojantį failą gaunama
FileNotFoundException
- Bandoma perskaityti failo pabaigą
Dabar mes žinome apie išimtis, sužinosime apie išimčių tvarkymą kitoje pamokoje.