Middle
Welk type uitzondering in Java kan niet worden afgehandeld?
sobes.tech AI
Antwoord van AI
Fout. Dit zijn ernstige problemen waarvan je niet op een redelijke manier kunt herstellen in de applicatie, bijvoorbeeld geheugenuitputting (OutOfMemoryError) of stackoverflow (StackOverflowError). Ze wijzen op kritieke fouten in de Java Virtual Machine (JVM).
In tegenstelling tot Exception (die gecontroleerd of niet gecontroleerd kan worden), moet Error alleen in uitzonderlijke gevallen worden opgevangen (bijvoorbeeld bij logging), maar niet om de normale werking van het programma voort te zetten.
Voorbeeld:
// Deze code demonstreert Error,
// maar het wordt over het algemeen niet aanbevolen om Error te vangen in productie
try {
// Poging om OutOfMemoryError te veroorzaken (kan afhankelijk van JVM-instellingen niet werken)
List<byte[]> lijst = new ArrayList<>();
while (true) {
lijst.add(new byte[1024 * 1024]); // Veel geheugen toewijzen
}
} catch (OutOfMemoryError e) {
// Loggen of proberen te sluiten
System.err.println("Kritieke fout: onvoldoende geheugen!");
e.printStackTrace();
// Hier wordt meestal de noodsluitingslogica uitgevoerd
}