In deze zelfstudie leren we over uitzonderingen in Java. We behandelen fouten, uitzonderingen en verschillende soorten uitzonderingen in Java.
Een uitzondering is een onverwachte gebeurtenis die optreedt tijdens de uitvoering van het programma. Het beïnvloedt de stroom van de programma-instructies, waardoor het programma abnormaal kan worden beëindigd.
Een uitzondering kan om verschillende redenen optreden. Sommige ervan zijn:
- Ongeldige gebruikersinvoer
- Apparaatstoring
- Verlies van netwerkverbinding
- Fysieke beperkingen (onvoldoende schijfgeheugen)
- Code fouten
- Een niet-beschikbaar bestand openen
Hiërarchie van Java-uitzonderingen
Hier is een vereenvoudigd diagram van de uitzonderingshiërarchie in Java.
Zoals je kunt zien in de afbeelding hierboven, is de Throwable
klasse de hoofdklasse in de hiërarchie.
Merk op dat de hiërarchie zich opsplitst in twee takken: fout en uitzondering.
Fouten
Fouten vertegenwoordigen onherstelbare omstandigheden zoals Java Virtual Machine (JVM) met onvoldoende geheugen, geheugenlekken, stack-overflow-fouten, incompatibiliteit van de bibliotheek, oneindige recursie, enz.
Fouten vallen meestal buiten de controle van de programmeur en we moeten niet proberen om fouten op te lossen.
Uitzonderingen
Uitzonderingen kunnen worden opgevangen en afgehandeld door het programma.
Als er een uitzondering optreedt binnen een methode, wordt er een object gemaakt. Dit object wordt het uitzonderingsobject genoemd.
Het bevat informatie over de uitzondering, zoals de naam en beschrijving van de uitzondering en de staat van het programma toen de uitzondering optrad.
In de volgende tutorial zullen we leren hoe we met deze uitzonderingen kunnen omgaan. In deze tutorial zullen we ons nu concentreren op verschillende soorten uitzonderingen in Java.
Java-uitzonderingstypen
De uitzonderingshiërarchie heeft ook twee takken: RuntimeException
en IOException
.
1. RuntimeException
Er treedt een runtime-uitzondering op vanwege een programmeerfout. Ze staan ook bekend als ongecontroleerde uitzonderingen .
Deze uitzonderingen worden niet gecontroleerd tijdens het compileren, maar tijdens de uitvoering. Enkele van de meest voorkomende uitzonderingen tijdens de uitvoering zijn:
- Oneigenlijk gebruik van een API -
IllegalArgumentException
- Null-pointer-toegang (de initialisatie van een variabele ontbreekt) -
NullPointerException
- Array-toegang buiten het bereik -
ArrayIndexOutOfBoundsException
- Een getal door 0 delen -
ArithmeticException
U kunt er op deze manier over nadenken. "Als het een runtime-uitzondering is, is het jouw schuld".
Het NullPointerException
zou niet zijn gebeurd als u had gecontroleerd of de variabele was geïnitialiseerd of niet voordat u deze gebruikte.
Dit ArrayIndexOutOfBoundsException
zou niet zijn gebeurd als u de array-index tegen de array-grenzen had getest.
2. IOException
Een IOException
staat ook bekend als een aangevinkte uitzondering . Ze worden gecontroleerd door de compiler tijdens het compileren en de programmeur wordt gevraagd om deze uitzonderingen af te handelen.
Enkele voorbeelden van gecontroleerde uitzonderingen zijn:
- Als u probeert een bestand te openen dat niet bestaat, resulteert dit in
FileNotFoundException
- Proberen voorbij het einde van een bestand te lezen
Nu we de uitzonderingen kennen, zullen we in de volgende zelfstudie leren over het omgaan met uitzonderingen.