Middle
Milyen típusú kivétel Java-ban nem kezelhető?
sobes.tech MI
Válasz az MI-től
Hiba. Ezek súlyos problémák, amelyekből nem lehet ésszerűen helyreállni az alkalmazásban, például memória kimerülése (OutOfMemoryError) vagy verem túlcsordulás (StackOverflowError). Ezek kritikus hibákat jeleznek a Java Virtuális Gép (JVM) környezetében.
A Exception-től (amely lehet ellenőrzött vagy ellenőrizetlen) eltérően, a Error-t csak kivételes esetekben (például naplózáskor) kell elkapni, de nem a program normál működésének folytatására.
Példa:
// Ez a kód Error-t demonstrál,
// de általában nem ajánlott Error-t elkapni gyártásban
try {
// Megpróbálja kiváltani az OutOfMemoryError-t (a JVM beállításaitól függően nem működhet)
List<byte[]> lista = new ArrayList<>();
while (true) {
lista.add(new byte[1024 * 1024]); // Sok memóriát foglal
}
} catch (OutOfMemoryError e) {
// Naplózás vagy kényszerített leállítás
System.err.println("Kritikus hiba: nem elég memória!");
e.printStackTrace();
// Általában itt történik a vészhelyzeti leállási logika
}