Typer av Undantag
Svep för att visa menyn
Undantagstypen anger vilken sorts problem som har inträffat, till exempel en saknad fil eller ett beräkningsfel. Java organiserar undantag i olika kategorier så att varje situation kan hanteras på rätt sätt. Kunskap om dessa typer hjälper dig att skriva säkrare och mer tillförlitlig kod.
Huvudkategorier av undantag i Java
Java-undantag delas in i två huvudkategorier: kontrollerade undantag och okontrollerade undantag. Att förstå skillnaden mellan dessa kategorier är avgörande för att skriva tillförlitliga Java-program.
Kontrollerade undantag
Kontrollerade undantag är undantag som Java-kompilatorn kräver att du hanterar. Du kommer att lära dig hur man hanterar undantag senare.
Kontrollerade undantag används vanligtvis för situationer som ett rimligt program bör kunna förutse och återhämta sig från, till exempel fel vid filinläsning/utmatning eller problem med databasanslutning.
- Kompilatorn kontrollerar vid kompilering att dessa undantag hanteras;
- Exempel är
IOException,SQLExceptionochClassNotFoundException; - Du måste hantera eller deklarera kontrollerade undantag, annars kommer din kod inte att kompileras.
Okontrollerade undantag
Okontrollerade undantag är undantag som kompilatorn inte kräver att du hanterar uttryckligen. Dessa undantag representerar vanligtvis programmeringsfel, såsom logiska misstag eller felaktig användning av ett API. Okontrollerade undantag är underklasser till RuntimeException och dess underklasser.
- Kompilatorn kontrollerar inte om du hanterar dessa undantag;
- Exempel är
NullPointerException,ArrayIndexOutOfBoundsExceptionochIllegalArgumentException; - Du behöver inte fånga eller deklarera okontrollerade undantag, men du kan hantera dem vid behov.
Sammanfattning:
- Kontrollerade undantag måste hanteras eller deklareras;
- Okontrollerade undantag kräver ingen uttrycklig hantering, men kan orsaka att programmet avslutas om de inte hanteras korrekt.
Vanliga typer av kontrollerade och okontrollerade undantag
Att förstå skillnaden mellan kontrollerade och okontrollerade undantag är avgörande för effektiv felhantering i Java. Här är några vanligt förekommande exempel:
Kontrollerade undantag
- IOException: indikerar ett fel vid in- eller utmatningsoperation, till exempel problem vid läsning från en fil eller nätverksanslutning;
- SQLException: signalerar problem relaterade till databasåtkomst eller SQL-frågor, såsom ogiltiga frågor eller anslutningsfel.
Okontrollerade undantag
- NullPointerException: uppstår när du försöker använda en objektreferens som inte har initierats (är
null); - ArithmeticException: uppstår vid otillåtna aritmetiska operationer, till exempel division med noll.
Du måste hantera kontrollerade undantag uttryckligen i din kod, medan okontrollerade undantag kan uppstå vid körning och behöver inte alltid deklareras eller fångas.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal