tässä Java poikkeuksia opetusohjelma, oppia, mitä poikkeuksena on Java, mitä on tarkistettu poikkeus, ja miten se eroaa tarkistamaton poikkeus. Opimme myös joitakin parhaita käytäntöjä ympäri Java tarkastetut poikkeukset.
Table of Contents1. What is an exception in Java?2. Checked vs unchecked exceptions in Java3. Java exception handling best practices
mikä on Javalla poikkeus?
”poikkeus on odottamaton tapahtuma, joka tapahtuu ohjelman suorituksen, joka häiritsee normaalia ohjeet.,”
Javassa, kaikki virheet ja poikkeukset ovat edustettuina Throwable-luokan. Kun virhe tapahtuu menetelmä, menetelmä luo objektin (minkä tahansa alatyypin Throwable
) ja kädet pois runtime järjestelmä. Objekti, jota kutsutaan poikkeusolioksi.
Poikkeus-objekti sisältää tietoja virheestä, mukaan lukien sen tyyppi ja tila-ohjelma, kun virhe tapahtui. Poikkeusolion luomista ja sen luovuttamista runtime-järjestelmälle kutsutaan poikkeuksen heittämiseksi.
1.1., Poikkeuksen käsittely
meillä on kaksi vaihtoehtoa, kun sovelluksessamme luodaan poikkeusolio.
- Joko me käsitellä sitä sisällä-menetelmä
- Tai voimme siirtää sen soittajan tapa anna sen hoitaa.
Tämä on erittäin tärkeä päätös tehdään kun asetus vastuut menetelmä. Menetelmässä pitäisi selvästi osoittaa, että mitä kaikkia poikkeuksellisia skenaarioita se käsittelee ja mitä se ei. Se määritellään menetelmän syntaksissa heittolausekkeen avulla.
poikkeuksen käsittelemiseksi on pyydettävä poikkeus try-catch Blockin saalisosiossa.,
If an exception is not handled in the application, then it will propagate to JVM and JVM will usually terminate the program itself.
Checked vs unchecked exceptions in Java
2.1. Exception Hierarchy
In Java, exceptions are broadly categorized into two sections: checked exceptions and unchecked exceptions.
2.2. Checked Exceptions
Java forces you to handle these error scenarios in some manner in your application code., Ne tulevat heti kasvoillesi, kun alat koota ohjelmaasi. Voit ehdottomasti sivuuttaa ne ja antaa niiden siirtyä JVM, mutta se on huono tapa. Ihannetapauksessa sinun on käsiteltävä nämä poikkeukset sopivalla tasolla sovelluksen sisällä, jotta voit ilmoittaa käyttäjälle epäonnistumisesta ja pyytää häntä yrittämään uudelleen/ tulemaan myöhemmin.
yleensä tarkistetut poikkeukset tarkoittavat virheskenaarioita, jotka eivät kuulu ohjelman välittömään hallintaan. Ne esiintyvät yleensä vuorovaikutuksessa ulkopuolisten resurssien / verkkoresurssien kanssa, esim. tietokantaongelmat, verkkoyhteysvirheet, puuttuvat tiedostot jne.,
Checked exceptions are subclasses of Exception class.
Example of checked exceptions are : ClassNotFoundException, IOException, SQLException and so on.
Checked Exception Example
FileNotFoundException
is a checked exception in Java. Anytime, we want to read a file from filesystem, Java forces us to handle error situation where file may not be present in place.
public static void main(String args) { FileReader file = new FileReader("somefile.txt");}
In above case, you will get compile time error with message – Unhandled exception type FileNotFoundException
.,
Jotta ohjelma pystyy kokoamaan, sinun täytyy hoitaa tämä virhe tilanteesta try-catch
lohko. Alla annettu koodi kokoaa täysin hieno.
2, 3. Valitsematta Poikkeukset
Java tarjoaa myös UncheckedExceptions, esiintymät, jotka eivät ole valittu kääntäjä. Ne tulevat elämään / ilmaantuvat ohjelmaasi, kun jokin buginen koodi on toteutettu.
menetelmä ei ole pakko kääntäjä ilmoittaa valitsematta poikkeuksia heittänyt sen täytäntöönpanoa. Yleensä tällaiset menetelmät eivät lähes aina ilmoita niitä, samoin.,
rajoittamattomat poikkeukset ovat RuntimeException alaluokkia. Esimerkki valitsematta poikkeuksia ovat : ArithmeticException
, ArrayStoreException
, ClassCastException
ja niin edelleen.
RuntimeException
on itse alaluokka Exception
eli kaikki tarkistamaton poikkeus luokat olisi pitänyt tarkistaa poikkeuksia epäsuorasti, MUTTA ne eivät ole.”Unchecked Exception Example
Checkout the given code below. Yllä koodi ei anna mitään kääntää aikavirhe., Mutta kun esimerkki, se heittää NullPointerException
. NullPointerException on tarkistamaton poikkeus Java.
Muista, että suurin ero valittu ja valitsematta poikkeuksia on, että tarkastetaan poikkeuksia ovat pakko-kääntäjä ja käyttää ilmoittamaan poikkeuksellisista olosuhteista, jotka ovat pois valvonnasta ohjelma (esimerkiksi I/O errors), kun taas valitsematta poikkeukset ovat tapahtuneet aikana runtime ja käytetään osoittamaan ohjelmointi virheitä (esimerkiksi null-osoitin).,
Java exception handling best practices
- tarkastettuja poikkeuksia voidaan käyttää, kun menetelmä ei voi tehdä niin kuin sen nimi sanoo. esim. menetelmä nimeltä prepareSystem (), joka pre-kansoittavat kokoonpano-tiedostoja ja tehdä joitakin kokoonpano käyttää niitä, voi julistaa heittää
FileNotFoundException
, joka merkitsee sitä, että menetelmä käyttää kokoonpano-tiedostoja tiedostojärjestelmästä. - Tarkastetaan poikkeuksia ihannetapauksessa pitäisi koskaan käyttää ohjelmointi virheitä, mutta ehdottomasti pitäisi käyttää resource virheitä, ja virtauksen ohjaus tällaisissa tapauksissa.,
- heitä vain ne poikkeukset, joita jokin menetelmä ei voi käsitellä millään keskiarvolla. Menetelmä pitäisi ensin yrittää käsitellä sitä heti, kun se kohtaa. Heitä poikkeus vain, jos se ei ole mahdollista käsitellä sisällä menetelmä.
- hyvä tapa määritellä menetelmän allekirjoitukset on ilmoittaa poikkeukset lähelle menetelmän nimeä. Jos menetelmäsi nimi on
openFile
, sen odotetaan heittävänFileNotFoundException
?. Jos menetelmäsi nimi onfindProvider
, sen odotetaan heittävänNoSuchProviderException
.,Myös, tällaisia poikkeuksia olisi tehtävä tarkastetaan poikkeuksia, koska se pakottaa soittajan käsitellä ongelmia, jotka ovat ominaisia semanttinen menetelmiä.
- sääntö on, että jos asiakkaan voidaan kohtuudella olettaa toipuvan poikkeuksesta, tee siitä tarkistettu poikkeus. Jos asiakas ei voi tehdä mitään toipuakseen poikkeuksesta, tee siitä tarkistamaton poikkeus.
todellisuudessa, useimmat sovellukset on toipua melko paljon kaikki poikkeukset mukaan lukien
NullPointerException
,IllegalArgumentExceptions
ja monet muut valitsematta poikkeuksia., Epäonnistunut toiminto / tapahtuma keskeytetään, mutta sovelluksen on pysyttävä hengissä ja oltava valmis palvelemaan seuraavaa toimenpidettä / tapahtumaa.ainoa kerta, kun sovelluksen sulkeminen on normaalisti laillista, on käynnistyksen aikana. Esimerkiksi, jos configuration file puuttuu ja sovellus ei voi tehdä mitään järkevää ilman sitä, niin se on laillista sulkea sovelluksen.,
Johtopäätös
tässä postitse, olemme oppineet ero tarkastetaan vs valitsematta poikkeukset Java, sekä miten käsitellä valitsematta poikkeuksia lukuun ottamatta hierarkian Java-esimerkkejä.
voit vapaasti pudottaa kysymyksesi kommentteihin.
Happy Learning !!,
- Asynchronous and synchronous exceptions
- exception handling using inner classes
- exception handling best practices
- effectively handle NullPointerException
- Custom exceptions in Java
- Java exception doc
Leave a Reply