Welcome to Our Website

Tarkastettu ja valitsematta poikkeukset java-esimerkkejä

On olemassa kahdenlaisia poikkeuksia: tarkastetaan poikkeus ja tarkistamaton poikkeus. Tässä oppaassa keskustelemme niistä. Tärkein ero tarkastetaan ja tarkistamaton poikkeus on, että tarkastetaan poikkeuksia tarkistetaan käännöksen-aikaa, kun valitsematta poikkeuksia tarkastetaan suorituksen.

mitä tarkistettuja poikkeuksia on?

tarkistetut poikkeukset tarkistetaan kokoamisajankohtana., Se tarkoittaa, että jos menetelmä on heittää tarkastetaan poikkeus sitten se pitäisi käsitellä poikkeus käyttämällä try-catch-lohkossa, tai se pitäisi julistaa poikkeus käyttäen heittoja avainsana, muuten ohjelma antaa käännösvirhe.

Antaa ymmärtää, tämän avulla esimerkki:

Valittu Poikkeus Esimerkki

tässä esimerkissä olemme lukee tiedoston myfile.txt ja näyttää sen sisällön ruudulla. Tässä ohjelmassa on kolme paikkaa, joissa tarkastettu poikkeus heitetään kuten alla olevissa kommenteissa mainitaan., FileInputStream, jota käytetään tiedostopolun ja nimen määrittämiseen, heittää FileNotFoundException. Read () – metodi, joka lukee tiedoston sisällön heittää IOException ja close() menetelmä, joka sulkee tiedoston input stream myös heittää IOException.

tuloksena on:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: Unhandled exception type FileNotFoundExceptionUnhandled exception type IOExceptionUnhandled exception type IOException

Miksi tämä käännösvirhe? Kuten mainitsin alussa, että tarkistetut poikkeukset tarkistetaan kokoamisen aikana. Koska emme käsitelleet/julistaneet poikkeuksia, ohjelmamme antoi koostevirheen.
miten virhe ratkaistaan?, On kaksi tapaa välttää tämä virhe. Näemme molemmat tavat yksitellen.

menetelmä 1: julistaa poikkeuksen heittosanalla.
Koska me tiedämme, että kaikki kolme esiintymät tarkastetaan poikkeuksia ovat sisällä main () – metodi siten yksi tapa välttää tämä käännösvirhe on: Julistaa poikkeus menetelmää käyttäen heittoja avainsana. Saatat ajatella, että koodimme heittää FileNotFoundException ja IOException molemmat sitten miksi ilmoitamme IOException yksin. Syy on se, että IOException on vanhempi Luokka Tiedostotunnistuksen niin se oletuksena kattaa, että., Jos haluat, voit julistaa ne näin public static void main(String args) throws IOException, FileNotFoundException.

Lähtö:
tiedostosisältö näkyy näytöllä.

Menetelmä 2: käsittele niitä try-catch-lohkoilla.
edellä käytetty lähestymistapa ei ole lainkaan hyvä. Se ei ole paras poikkeus käsittely käytäntö. Jokaiselle poikkeustyypille kannattaa antaa mielekäs viesti, jotta jonkun olisi helppo ymmärtää virhe. Koodin pitäisi olla näin:

Tämä koodi toimii hyvin ja näyttää tiedoston sisällön.,

Tässä on muutamia muita Tarkastetaan Poikkeuksia –

  • SQLException
  • IOException
  • ClassNotFoundException
  • InvocationTargetException

Mitä ovat Valitsematta poikkeuksia?

tarkistamattomia poikkeuksia ei tarkisteta kääntövaiheessa. Se tarkoittaa, että jos ohjelma on heittää tarkistamaton poikkeus, ja jopa, jos et kahva/julistaa, että poikkeus, ohjelma ei anna käännösvirhe. Useimmiten tämä poikkeus johtuu huonosta tiedosta, jonka käyttäjä on antanut käyttäjä-ohjelman vuorovaikutuksen aikana., On ohjelmoijan tehtävä arvioida olosuhteet etukäteen, jotka voivat aiheuttaa tällaisia poikkeuksia ja käsitellä niitä asianmukaisesti. Kaikki rajoittamattomat poikkeukset ovat suoranaisia RuntimeException-luokan alaluokkia.

Antaa ymmärtää, tässä esimerkki:

Tarkistamaton Poikkeus Esimerkki

Jos käännät tätä koodia, se kokoaa onnistuneesti, kuitenkin, kun voit käyttää sitä, se heittää ArithmeticException. Se osoittaa selvästi, että valitsematta poikkeuksia ei ole tarkistanut käännöksen ajan, he tapahtuu runtime. Katsotaan toinen esimerkki.,

Tämä koodi olisi myös koota menestyksekkäästi vuodesta ArrayIndexOutOfBoundsException on myös tarkistamaton poikkeus.
huomautus: se ei tarkoita, että kääntäjä ei tarkista näitä poikkeuksia, joten meidän ei pitäisi käsitellä niitä. Itse asiassa meidän pitäisi käsitellä niitä tarkemmin. Esimerkiksi yllä olevassa esimerkissä ei pitäisi olla poikkeus viestin käyttäjälle, että he yrittävät näyttää arvo, joka ei ole olemassa array niin, että käyttäjä voisi korjata ongelman.,

Output:

The specified index does not exist in array. Please correct the error.

Here are the few unchecked exception classes:

  • NullPointerException
  • ArrayIndexOutOfBoundsException
  • ArithmeticException
  • IllegalArgumentException
  • NumberFormatException

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *