Das Schlüsselwort throws wird in Java in Methodendeklarationen verwendet, um anzugeben, dass die Methode eine oder mehrere Ausnahmen auslösen kann. So können die Methoden signalisieren, dass sie auf außergewöhnliche Bedingungen stoßen könnten, für die sie nicht gerüstet sind.
Verwendung
Das Schlüsselwort throws wird in der Methodensignatur nach der Parameterliste und vor dem Methodenrumpf platziert. Es folgt eine durch Komma getrennte Liste von Ausnahmeklassen, die die Methode auslösen kann.
Syntax
returnType methodName(parameters) throws ExceptionType1, ExceptionType2 {// method body}Bereitgestellt von
returnType: Der Rückgabetyp der Methode.
methodName: Der Name der Methode.
parameters: Die Parameter der Methode.
ExceptionType1, ExceptionType2: Die Ausnahmen, die die Methode auslösen kann.
In diesem Beispiel deklariert die Methode readFile, dass sie ein IOException auslösen kann. Dies zeigt an, dass die Methode möglicherweise auf einen Ein-/Ausgabefehler stößt, den sie intern nicht behandeln kann.
Hier erklärt die Methode processFile, dass sie sowohl IOException als auch FileNotFoundException auslösen kann. Damit wird der Aufrufer darüber informiert, dass die Methode auf eine dieser Ausnahmen stoßen kann.
Beispiel 3: Zoll-Ausnahme
publicclassCustomExceptionextendsException{publicCustomException(String message){super(message);}}publicvoidvalidateAge(int age) throws CustomException {if(age <18){thrownewCustomException("Age must be 18 or older.");}
System.out.println("Age is valid.");}Bereitgestellt von
In diesem Beispiel wird eine benutzerdefinierte Ausnahme CustomException erstellt. Die Methode validateAge erklärt, dass sie diese benutzerdefinierte Ausnahme auslösen kann, wenn das Alter weniger als 18 Jahre beträgt.
Tipps und bewährte Praktiken
Erkläre besondere Ausnahmen: Deklariere möglichst spezifische Ausnahmen, anstatt eine generische Exception Klasse zu verwenden. Das macht den Code besser lesbar und wartbar.
publicvoidmethod() throws IOException, SQLException {// method body}Bereitgestellt von
Ausnahmen dokumentieren: Dokumentiere die Ausnahmen, die eine Methode auslösen kann, immer in Javadoc-Kommentaren. Das hilft anderen Entwicklern, die potenziellen Risiken zu verstehen und angemessen mit ihnen umzugehen.
/**
* Reads a file and prints its content.
*
* @param fileName the name of the file to read
* @throws IOException if an I/O error occurs
*/publicvoidreadFile(String fileName) throws IOException {// method body}Bereitgestellt von
Verwende throws mit Bedacht: Verwende das Schlüsselwort throws nur, wenn die Methode die Ausnahme nicht intern behandeln kann. Wenn möglich, behandle Ausnahmen innerhalb der Methode, um die Anwendung robuster und benutzerfreundlicher zu machen.
Verbreite Ausnahmen: Wenn du Ausnahmen weitergibst, stelle sicher, dass die aufrufende Methode in der Lage ist, sie zu behandeln oder sie auf dem Aufrufstapel weiterzugeben.
Das Schlüsselwort
throwswird in Java in Methodendeklarationen verwendet, um anzugeben, dass die Methode eine oder mehrere Ausnahmen auslösen kann. So können die Methoden signalisieren, dass sie auf außergewöhnliche Bedingungen stoßen könnten, für die sie nicht gerüstet sind.Verwendung
Das Schlüsselwort
throwswird in der Methodensignatur nach der Parameterliste und vor dem Methodenrumpf platziert. Es folgt eine durch Komma getrennte Liste von Ausnahmeklassen, die die Methode auslösen kann.Syntax
returnType: Der Rückgabetyp der Methode.methodName: Der Name der Methode.parameters: Die Parameter der Methode.ExceptionType1, ExceptionType2: Die Ausnahmen, die die Methode auslösen kann.Beispiele
Beispiel 1: Einzelne Ausnahme
In diesem Beispiel deklariert die Methode
readFile, dass sie einIOExceptionauslösen kann. Dies zeigt an, dass die Methode möglicherweise auf einen Ein-/Ausgabefehler stößt, den sie intern nicht behandeln kann.Beispiel 2: Mehrere Ausnahmen
Hier erklärt die Methode
processFile, dass sie sowohlIOExceptionals auchFileNotFoundExceptionauslösen kann. Damit wird der Aufrufer darüber informiert, dass die Methode auf eine dieser Ausnahmen stoßen kann.Beispiel 3: Zoll-Ausnahme
In diesem Beispiel wird eine benutzerdefinierte Ausnahme
CustomExceptionerstellt. Die MethodevalidateAgeerklärt, dass sie diese benutzerdefinierte Ausnahme auslösen kann, wenn das Alter weniger als 18 Jahre beträgt.Tipps und bewährte Praktiken
ExceptionKlasse zu verwenden. Das macht den Code besser lesbar und wartbar.throwsmit Bedacht: Verwende das Schlüsselwortthrowsnur, wenn die Methode die Ausnahme nicht intern behandeln kann. Wenn möglich, behandle Ausnahmen innerhalb der Methode, um die Anwendung robuster und benutzerfreundlicher zu machen.