Home / Android-Entwicklung / Versuchen Sie, Java zu fangen: Ausnahmebehandlung erklärt

Versuchen Sie, Java zu fangen: Ausnahmebehandlung erklärt

 try catch Java

Die Fehlerbehandlung – auch Ausnahmebehandlung genannt – ist ein großer Teil von Java, aber auch eines der spaltbareren Elemente. Mit der Ausnahmebehandlung kann ein Entwickler Probleme antizipieren, die in seinem Code auftreten können, um zu verhindern, dass sie später Probleme für Benutzer verursachen. Der Grund, warum dies zu einem Ärgernis werden kann, ist, dass einige Methoden in Java den Benutzer tatsächlich zwingen, Ausnahmen zu behandeln. Hier kommt "try catch" in Java ins Spiel.

Was ist "try catch" Java?

Für jemanden, der neu in der Programmierung ist, kann es schwierig sein zu verstehen, warum Sie möglicherweise Code schreiben, der dies ermöglicht Fehler auftreten.

Siehe auch: NullPointerException in Java – Erklärung des Milliarden-Dollar-Fehlers

Ein gutes Beispiel wäre die FileNotFoundException . Dies macht genau das, was es verspricht: Diese Ausnahme wird "ausgelöst", wenn Java nach einer bestimmten Datei sucht und diese nicht finden kann.

Was passiert also, wenn jemand Ihre App verwendet, wechselt zu seinem Dateibrowser? löscht dann eine Sicherungsdatei, die die App verwendet hat? In diesem Szenario kann Ihre Anwendung verständlicherweise eine Ausnahme auslösen. Wir sagen, dass dies eher eine Ausnahme als ein Fehler ist, da es sich um ein Problem handelt, das wir vernünftigerweise antizipieren und behandeln könnten.

Sie verwenden also einen "try catch" -Block.

Try fordert Java im Wesentlichen auf, etwas zu versuchen und zu tun. Wenn der Vorgang erfolgreich ist, wird das Programm wie gewohnt fortgesetzt. Wenn nicht erfolgreich ist haben Sie die Möglichkeit, Ihren Code umzuleiten und gleichzeitig die Ausnahme zu notieren. Dies geschieht im Block "catch".

Beispiel "try catch Java"

Hier ist ein Beispiel für die Verwendung von try catch in Java:






try {
 int [] 
 list = {1, 2, 3, 4, 5, 6};
 System.out.println (Liste [10] 


);
 } catch (Ausnahme e) {
 System.out.println ("Ups!");
}

Hier erstellen wir eine Liste mit 6 Einträgen. Der höchste Index ist daher 5 (da „1“ bei Index 0 liegt). Wir versuchen dann, den Wert aus Index 10 zu erhalten.

Wenn Sie dies ausführen, wird die Meldung "Ups!" Angezeigt.

Beachten Sie, dass wir "Exception e" als Argument übergeben haben. Das heißt, wir können auch sagen:

 System.out.println (e); 

Wir erhalten die Meldung: "java.lang.ArrayIndexOutOfBoundsException: 10"

Siehe auch: Java-Anfängerkurs – Eine kostenlose und umfassende Anleitung zu den Grundlagen von Java

Nachdem wir unsere Ausnahme "behandelt" haben, können wir sie als "geprüfte Ausnahme" bezeichnen.

Erzwungene Ausnahmebehandlung

Beachten Sie, dass wir hätten schreiben können Dieser Code ohne Behandlung der Ausnahme. Dies würde zum Absturz des Programms führen, aber das ist unser Vorrecht!

In anderen Fällen zwingt eine Methode den Benutzer, eine Ausnahme zu behandeln.

Nehmen wir also an, wir erstellen eine kleine Methode, die die zehnte Position überprüft von jeder Liste, die wir als Argument übergeben:













öffentliche Klasse MyClass {

  public static void main (String [ ] 
 args) {
 int [] 



 list = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
 System.out.println (checkTen (Liste));
  }}

 public static int checkTen (int [] 
 listToCheck) {
 int outPut = listToCheck [10] 


;
 return outPut;
 }}
}

Dies funktioniert einwandfrei und gibt "11" auf dem Bildschirm aus. Wenn wir jedoch das Schlüsselwort "throw" zu unserer Methodensignatur hinzufügen, können wir den Benutzer zwingen, damit umzugehen.

 public static int checkTen (int [] listToCheck) löst ArrayIndexOutOfBoundsException aus {

Jetzt können wir unseren Code schreiben wie so:



















öffentliche Klasse MyClass {

public static void main (String [ ] 
 args) {
 int [] 









 list = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 
 Versuchen {
 System.out.println (checkTen (Liste));
 } catch (ArrayIndexOutOfBoundsException e) {
 //System.out.println(e);
 System.out.println ("Ups!");
 }}
  }}

 public static int checkTen (int [] 
 listToCheck) löst ArrayIndexOutOfBoundsException {aus
 int output = listToCheck [10] 


;
 Ausgabe zurückgeben;
 }}
}

Dadurch wird der Benutzer gezwungen, die Ausnahme zu behandeln. Tatsächlich füllen viele Java-Editoren den Code automatisch mit dem erforderlichen Block. Beachten Sie, dass wir den richtigen Ausnahmetyp verwenden müssen!

Sollten Sie also andere Entwickler zwingen, Ausnahmen zu behandeln, wenn Sie Ihre eigenen Klassen schreiben? Das liegt ganz bei Ihnen. Denken Sie daran, dass einige Szenarien tatsächlich dazu führen sollten, dass ein Programm beendet wird, und wenn ein Entwickler gezwungen wird, sich mit solchen Instanzen zu befassen, wird nur mehr Boilerplate-Code erstellt. In anderen Fällen kann dies eine nützliche Möglichkeit sein, potenzielle Probleme anderen Entwicklern mitzuteilen und effizienteren Code zu fördern.

Natürlich gibt es in dem hier angegebenen Beispiel eine Reihe anderer Möglichkeiten für Ausnahmen. Was passiert, wenn jemand beispielsweise eine Liste von Zeichenfolgen an Ihre Methode übergibt? Alles was ich dazu sagen kann ist, willkommen in der wundervollen Welt von Java!

Dies ist Ihre Chance zu entscheiden, welcher Entwicklertyp Sie sein möchten! Wenn Sie bereit sind, dies herauszufinden, lesen Sie unseren Leitfaden mit den besten Ressourcen zum Erlernen von Java!

About AndroidWeltEditor

Check Also

Android Developers Blog: Warteschlange der Verbesserungen

Gepostet von Jeff Vander Stoep, Android Security & Privacy Team und Chong Zhang, Android Media …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.