Een uitzondering is een runtime-fout. Er zijn twee soorten uitzonderingen die bekend staan als gecontroleerde en niet-gecontroleerde uitzonderingen. Wanneer een gecontroleerde uitzondering optreedt, is de Java-toepassing verbonden met een externe bron, zoals een bestand, apparaat of database. Deze uitzonderingen worden gecontroleerd door de compiler. Enkele voorbeelden van gecontroleerde uitzonderingen zijn IO-uitzondering en FileNotFound-uitzondering. Wanneer een niet-gecontroleerde uitzondering optreedt, is de toepassing niet verbonden met externe bronnen. Deze uitzonderingen worden niet gecontroleerd door de compiler. Enkele voorbeelden van niet-gecontroleerde uitzonderingen zijn Arithmetic Exception en ArrayOutOfBound Exception. Dit artikel bespreekt het verschil tussen gecontroleerde en niet-gecontroleerde uitzonderingen in Java. De belangrijk verschil tussen gecontroleerde en niet-gecontroleerde uitzonderingen in Java is dat een gecontroleerde uitzondering wordt gecontroleerd door de compiler, terwijl een ongecontroleerde uitzondering niet wordt gecontroleerd door de compiler.
1. Overzicht en belangrijkste verschil
2. Wat is gecontroleerde uitzondering in Java
3. Wat is Niet-gecontroleerde uitzondering in Java
4. Overeenkomsten tussen gecontroleerde en niet-gecontroleerde uitzondering in Java
5. Side-by-side vergelijking - Gecontroleerd versus niet-gecontroleerde uitzondering in Java in tabelvorm
6. Samenvatting
Wanneer een gecontroleerde uitzondering optreedt, is de Java-toepassing verbonden met een externe bron. Deze bron kan een apparaat zijn zoals een printer. Het kan een bestand of een database zijn. Daarom worden die uitzonderingen gecontroleerd door de compiler. IO-uitzondering is een gecontroleerde uitzondering. Het gebeurt als gevolg van een fout in het apparaat. Wanneer de toepassing een bestand opent dat niet bestaat, veroorzaakt dit een FileNotFound-uitzondering. Een toepassing kan worden verbonden met een database zoals MySQL, Oracle enz. Om gegevens op te slaan. Als er een fout is opgetreden met betrekking tot een database, zou dit een SQL-uitzondering zijn. Dat zijn enkele voorbeelden van gecontroleerde uitzonderingen. In al deze gevallen is de applicatie verbonden met een externe bron. In gecontroleerde uitzonderingen is het verplicht om de uitzondering af te handelen. Als het niet wordt afgehandeld, wordt de juiste stroom van het programma beëindigd en wordt het klassenbestand niet gegenereerd. De fout kan worden behandeld met behulp van het blok try, catch.
Figuur 01: Gecontroleerde uitzonderingsafhandeling
Volgens het bovenstaande leest de FileReader de gegevens uit het bestand. Het bestand text1.txt bestaat niet op de opgegeven locatie. De code die de uitzondering kan geven, wordt in het try-blok geplaatst. Het bericht dat u wilt afdrukken bevindt zich in het blok catch. Aangezien er geen bestand met de naam text1.txt is, veroorzaakt dit een FileNotFoundException. Door uitzonderingsafhandeling te gebruiken, wordt het bericht afgedrukt op het scherm.
Niet-gecontroleerde uitzonderingen worden niet gecontroleerd door de compiler. Anders dan in gecontroleerde uitzonderingen, met niet-gecontroleerde uitzonderingen, is de Java-applicatie niet verbonden met een buitenbron zoals een bestand, database of een apparaat. Enkele veel voorkomende niet-gecontroleerde uitzonderingen zijn Arithmetic, ArrayOutOfBound en NullPointer Exceptions.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
Dit veroorzaakt een rekenkundige uitzondering vanwege het 'nul' duiken met nul. Raadpleeg de onderstaande code.
Figuur 02: Rekenkundige uitzonderingsafhandeling
Volgens het bovenstaande programma is variabele a een geheel getal. Variabele b is 0. De verdeling van deze twee getallen is een scheiding door nul. Daarom zal het een rekenkundige uitzondering veroorzaken. Het kan worden behandeld met behulp van try-catch-blok. De instructies die de uitzondering kunnen veroorzaken, worden in het try-blok geplaatst. Het bericht dat moet worden weergegeven, bevindt zich in het blok catch.
Raadpleeg het onderstaande stuk van de code.
int array1 [] = 1,2,3,4,5;
System.out.println (matrix1 [5]);
Dit veroorzaakt een uitzondering. De array1 is een array met 5 elementen. De startindex van de array is nul. De 5 afdrukkenth indexwaarde veroorzaakt een uitzondering omdat deze niet gebonden is. De maximale index van array1 is 4.
Afbeelding 03: ArrayOutOfBound Exception Handling
Volgens het bovenstaande programma heeft de array1 5 elementen. Als u het element met index 6 afdrukt, wordt een uitzondering veroorzaakt omdat deze niet meer wordt gebonden. De maximale index die kan worden opgeslagen in array1 is 5. Het foutbericht wordt afgedrukt door het blok catch uit te voeren.
Gecontroleerd versus niet-gecontroleerde uitzondering in Java | |
Een gecontroleerde uitzondering is een runtime-fout die wordt gecontroleerd door de compiler. | Een niet-gecontroleerde uitzondering is een runtime-fout die niet wordt gecontroleerd door de compiler. |
voorval | |
Wanneer een gecontroleerde uitzondering optreedt, is de Java-toepassing verbonden met een externe bron, zoals een bestand, apparaat of een database. | Wanneer een niet-gecontroleerde uitzondering optreedt, is de Java-toepassing niet verbonden met een externe bron. |
Voorbeelden | |
IOException, FileNotFoundException, SQLException zijn enkele voorbeelden van gecontroleerde uitzonderingen. | De rekenkundige uitzondering, ArrayOutOfBoundException, NullPointerException zijn enkele voorbeelden van niet-gecontroleerde uitzonderingen. |
Een uitzondering is een gebeurtenis die de uitvoering van de programmastroom onderbreekt. Er zijn twee soorten uitzonderingen. Dit worden gecontroleerde uitzonderingen en niet-gecontroleerde uitzonderingen genoemd. In dit artikel wordt het verschil besproken tussen een gecontroleerde uitzondering en niet-gecontroleerde uitzonderingen. Het verschil tussen gecontroleerde en niet-gecontroleerde uitzonderingen in Java is dat een gecontroleerde uitzondering wordt gecontroleerd door de compiler, terwijl een ongecontroleerde uitzondering niet wordt gecontroleerd door de compiler. Aangezien uitzonderingen van invloed zijn op de juiste stroom van programma-uitvoering, is het een goede programmeermethode om ze af te handelen.
1.Point, zelfstudies. "Java-uitzonderingen.", Tutorials Point, 8 januari 2018. Beschikbaar Hier
2.nareshtechnologies. Gecontroleerd versus niet-gecontroleerde uitzondering || Core Java FAQs video's, Naresh i Technologies, 31 december 2016. Beschikbaar Hier