Java-poikkeukset

Tässä opetusohjelmassa opimme Java-poikkeuksista. Käsittelemme Java-virheitä, poikkeuksia ja erityyppisiä poikkeuksia.

Poikkeuksena on odottamaton tapahtuma, joka tapahtuu ohjelman suorituksen aikana. Se vaikuttaa ohjelmaohjeiden kulkuun, mikä voi aiheuttaa ohjelman lopettamisen epänormaalisti.

Poikkeus voi tapahtua monista syistä. Jotkut niistä ovat:

  • Virheellinen käyttäjän syöttö
  • Laitevika
  • Verkkoyhteyden katkeaminen
  • Fyysiset rajoitukset (levymuisti loppu)
  • Koodivirheet
  • Ei-käytettävissä olevan tiedoston avaaminen

Java-poikkeushierarkia

Tässä on yksinkertaistettu kaavio Java-poikkeushierarkiasta.

Kuten yllä olevasta kuvasta näet, Throwableluokka on hierarkian juuriluokka.

Huomaa, että hierarkia jakautuu kahteen osaan: virhe ja poikkeus.

Virheet

Virheet edustavat korjaamattomia olosuhteita, kuten Java-virtuaalikoneen (JVM) loppumassa muistia, muistivuotoja, pinon ylivuotovirheitä, kirjastojen yhteensopimattomuutta, ääretöntä rekursiota jne.

Virheet eivät yleensä ole ohjelmoijan hallinnassa, eikä meidän pitäisi yrittää käsitellä virheitä.

Poikkeukset

Ohjelma voi havaita ja käsitellä poikkeuksia .

Kun menetelmän sisällä tapahtuu poikkeus, se luo objektin. Tätä objektia kutsutaan poikkeusobjektiksi.

Se sisältää tietoja poikkeuksesta, kuten poikkeuksen nimi ja kuvaus sekä ohjelman tila, jolloin poikkeus tapahtui.

Opimme näiden poikkeusten käsittelystä seuraavassa opetusohjelmassa. Tässä opetusohjelmassa keskitymme nyt erityyppisiin Java-poikkeuksiin.

Java-poikkeustyypit

Poikkeushierarkialla on myös kaksi haaraa: RuntimeExceptionja IOException.

1. Ajonaikainen poikkeus

Runtime poikkeus tapahtuu takia ohjelmointivirhe. Ne tunnetaan myös tarkistamattomina poikkeuksina .

Näitä poikkeuksia ei tarkisteta käännösaikana, vaan ajonaikana. Joitakin yleisiä ajonaikaisia ​​poikkeuksia ovat:

  • API: n väärä käyttö - IllegalArgumentException
  • Nollaosoittimen käyttö (muuttujan alustaminen puuttuu) - NullPointerException
  • Rajojen ulkopuolinen pääsy taulukkoon - ArrayIndexOutOfBoundsException
  • Numeron jakaminen 0: lla - ArithmeticException

Voit ajatella sitä tällä tavalla. "Jos kyseessä on ajonaikainen poikkeus, se on sinun syytäsi".

Ei NullPointerExceptionolisi tapahtunut, jos olisit tarkistanut, onko muuttuja alustettu vai ei, ennen kuin käytät sitä.

Ei ArrayIndexOutOfBoundsExceptionolisi tapahtunut, jos testaisit taulukkoindeksiä matriisirajoihin nähden.

2. IOException

An IOExceptiontunnetaan myös tarkistettuna poikkeuksena . Kääntäjä tarkistaa ne kääntöhetkellä ja ohjelmoijaa kehotetaan käsittelemään näitä poikkeuksia.

Joitakin esimerkkejä tarkistetuista poikkeuksista ovat:

  • Yritetään avata tiedosto, jota ei ole olemassa FileNotFoundException
  • Yritetään lukea tiedoston loppuun

Nyt tiedämme poikkeuksista, opimme poikkeusten käsittelystä seuraavassa opetusohjelmassa.

Mielenkiintoisia artikkeleita...