Kastar Undantag
Svep för att visa menyn
När det är nödvändigt att indikera att något har gått fel i ditt Java-program kan du använda satsen throw. Satsen throw gör det möjligt att avsiktligt generera ett undantag vid valfri punkt i koden. Detta är särskilt användbart när du vill signalera att en metod har tagit emot ogiltig indata eller när ett specifikt felvillkor uppstår som koden inte kan hantera direkt.
throw new Exception();
Att kasta undantag är en viktig del av robust felhantering. Genom att kasta ett undantag meddelas den anropande koden att något oväntat har inträffat, och kontrollen överlämnas så att felet kan hanteras på lämpligt sätt—ofta i ett catch-block eller genom att undantaget skickas vidare upp i anropsstacken. Detta tillvägagångssätt hjälper till att separera normal exekveringslogik från felhanteringslogik, vilket gör koden mer lättläst och underhållbar.
Main.java
12345678910111213141516171819package com.example; public class Main { public static void main(String[] args) { try { int age = -5; checkAge(age); } catch (IllegalArgumentException e) { System.out.println("Caught exception: " + e.getMessage()); } } public static void checkAge(int age) { if (age < 0) { throw new IllegalArgumentException("Age cannot be negative: " + age); } System.out.println("Valid age: " + age); } }
I det här exemplet är metoden checkAge utformad för att validera sin indata. Om du anropar checkAge med ett negativt värde använder metoden satsen throw för att skapa och kasta ett nytt IllegalArgumentException. Undantaget innehåller ett meddelande som förklarar vad som gick fel. Detta stoppar omedelbart den normala exekveringen av metoden, och kontrollen hoppar till närmaste matchande catch-block—i det här fallet i metoden main.
Genom att kasta ett undantag på detta sätt gör du det tydligt för alla som använder din metod att vissa indata inte är tillåtna, och du tillhandahåller ett standardiserat sätt för anropande kod att reagera på felet.
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