Das Schlüsselwort throw wird in Java verwendet, um explizit eine Ausnahme aus einer Methode oder einem Codeblock zu werfen. Sie ist ein wesentlicher Teil des Java-Mechanismus zur Behandlung von Ausnahmen, der es Entwicklern ermöglicht, Fehlerbedingungen auf kontrollierte Weise zu erstellen und zu verwalten.
Verwendung
Das Schlüsselwort throw wird normalerweise verwendet, um entweder geprüfte oder ungeprüfte Ausnahmen auszulösen. Wenn eine Ausnahme ausgelöst wird, wird der normale Programmfluss unterbrochen und die Kontrolle wird an den nächstgelegenen umschließenden try-catch Block übertragen, der die Ausnahme behandeln kann.
ExceptionType: Der Typ der Ausnahme, die ausgelöst werden soll (z. B. ArithmeticException, NullPointerException).
"Error message": Eine String-Meldung mit Details über die Ausnahme.
Beispiele
Beispiel 1: Das Auslösen einer geprüften Exception
publicclassThrowExample{publicstaticvoidmain(String[] args){try{checkAge(15);}catch(Exception e){
System.out.println(e.getMessage());}}staticvoidcheckAge(int age) throws Exception {if(age <18){thrownewException("Age must be 18 or older.");}}}Bereitgestellt von
In diesem Beispiel löst die Methode checkAge eine Exception aus, wenn das angegebene Alter unter 18 Jahren liegt. Die Methode main ruft checkAge innerhalb eines try Blocks auf, fängt die Ausnahme ab und gibt die Fehlermeldung aus.
Beispiel 2: Das Auslösen einer ungeprüften Exception
publicclassThrowExample{publicstaticvoidmain(String[] args){try{divide(10,0);}catch(ArithmeticException e){
System.out.println(e.getMessage());}}staticvoiddivide(int a, int b){if(b ==0){thrownewArithmeticException("Division by zero is not allowed.");}
System.out.println(a / b);}}Bereitgestellt von
Hier wirft die Methode divide ein ArithmeticException aus, wenn der Divisor Null ist. Die Methode main fängt die Ausnahme ab und gibt die Fehlermeldung aus.
Beispiel 3: Zoll-Ausnahme
classCustomExceptionextendsException{publicCustomException(String message){super(message);}}publicclassThrowExample{publicstaticvoidmain(String[] args){try{validate(0);}catch(CustomException e){
System.out.println(e.getMessage());}}staticvoidvalidate(int number) throws CustomException {if(number <=0){thrownewCustomException("Number must be greater than zero.");}}}Bereitgestellt von
Dieses Beispiel zeigt, wie du eine benutzerdefinierte Ausnahme auslösen kannst. Die Methode validate löst einen CustomException aus, wenn die Zahl kleiner oder gleich Null ist, und die Methode main fängt ihn auf und behandelt ihn.
Tipps und bewährte Praktiken
Verwende aussagekräftige Botschaften: Gib beim Auslösen von Exceptions immer aussagekräftige und beschreibende Meldungen aus, um die Fehlersuche zu erleichtern.
thrownewIllegalArgumentException("Parameter 'x' cannot be negative.");Bereitgestellt von
Kontrolliert vs. Ungeprüfte Ausnahmen: Verwende geprüfte Ausnahmen für wiederherstellbare Bedingungen und ungeprüfte Ausnahmen (Laufzeitausnahmen) für Programmierfehler.
Benutzerdefinierte Ausnahmen: Erstelle benutzerdefinierte Ausnahmen, um bestimmte Fehlerbedingungen in deiner Anwendung darzustellen. Dadurch wird dein Code besser lesbar und wartbar.
Vermeide eine Überbeanspruchung: Verwende nicht zu viele Ausnahmen für den Kontrollfluss. Sie sollten für außergewöhnliche Bedingungen verwendet werden, nicht für regelmäßige bedingte Kontrollen.
Ausnahmen dokumentieren: Dokumentiere die Ausnahmen, die eine Methode auslösen kann, immer mit dem @throws Javadoc-Tag.
/**
* @throws IllegalArgumentException if the parameter is invalid
*/publicvoidsomeMethod(int param){if(param <0){thrownewIllegalArgumentException("Parameter cannot be negative.");}}Bereitgestellt von
Das Schlüsselwort
throwwird in Java verwendet, um explizit eine Ausnahme aus einer Methode oder einem Codeblock zu werfen. Sie ist ein wesentlicher Teil des Java-Mechanismus zur Behandlung von Ausnahmen, der es Entwicklern ermöglicht, Fehlerbedingungen auf kontrollierte Weise zu erstellen und zu verwalten.Verwendung
Das Schlüsselwort
throwwird normalerweise verwendet, um entweder geprüfte oder ungeprüfte Ausnahmen auszulösen. Wenn eine Ausnahme ausgelöst wird, wird der normale Programmfluss unterbrochen und die Kontrolle wird an den nächstgelegenen umschließendentry-catchBlock übertragen, der die Ausnahme behandeln kann.Syntax
ExceptionType: Der Typ der Ausnahme, die ausgelöst werden soll (z. B.ArithmeticException,NullPointerException)."Error message": Eine String-Meldung mit Details über die Ausnahme.Beispiele
Beispiel 1: Das Auslösen einer geprüften Exception
In diesem Beispiel löst die Methode
checkAgeeineExceptionaus, wenn das angegebene Alter unter 18 Jahren liegt. Die MethodemainruftcheckAgeinnerhalb einestryBlocks auf, fängt die Ausnahme ab und gibt die Fehlermeldung aus.Beispiel 2: Das Auslösen einer ungeprüften Exception
Hier wirft die Methode
divideeinArithmeticExceptionaus, wenn der Divisor Null ist. Die Methodemainfängt die Ausnahme ab und gibt die Fehlermeldung aus.Beispiel 3: Zoll-Ausnahme
Dieses Beispiel zeigt, wie du eine benutzerdefinierte Ausnahme auslösen kannst. Die Methode
validatelöst einenCustomExceptionaus, wenn die Zahl kleiner oder gleich Null ist, und die Methodemainfängt ihn auf und behandelt ihn.Tipps und bewährte Praktiken
@throwsJavadoc-Tag.