JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 158. 10 Tipps zum Umgang mit Ausnahmen in...

Kaffeepause Nr. 158. 10 Tipps zum Umgang mit Ausnahmen in Java

Veröffentlicht in der Gruppe Random-DE
Quelle: Medium Dieser Beitrag wird Ihnen helfen, besser zu verstehen, wie Sie Ausnahmen in Java effektiv behandeln. Kaffeepause Nr. 158.  10 Tipps zum Umgang mit Ausnahmen in Java - 1Der Umgang mit Java-Ausnahmen kann eine Herausforderung sein. Es kann schwierig sein, zu bestimmen, welche Java-Ausnahmen behandelt, welche erneut ausgelöst und welche einfach ignoriert werden sollen. Es gibt jedoch eine Reihe nützlicher Richtlinien, die Ihnen effektiv dabei helfen können, Ausnahmen zu behandeln und neue Anwendungen zu erstellen. Machen wir uns mit ihnen bekannt.
  1. Seien Sie vorsichtig, was Sie protokollieren.
  2. Ignorieren Sie ausgelöste Ausnahmen nicht.
  3. Verwenden Sie einen globalen Ausnahmehandler.
  4. Schließen Sie Ressourcen nicht manuell.
  5. Frühzeitig auslösen und Ausnahmen später behandeln.
  6. Java-Ausnahmen sollten nicht protokolliert und erneut ausgelöst werden.
  7. Unterdrückte Ausnahmen untersuchen.
  8. Deklarieren Sie Ausnahmen in der throw-Anweisung genau.
  9. Behandeln Sie zuerst die offensichtlichste Ausnahme.
  10. Verwenden Sie moderne Semantik zur Ausnahmebehandlung.

1. Seien Sie vorsichtig, was Sie protokollieren

Softwareentwickler sollten sich stets der Rechte ihrer Kunden auf Sicherheit und Datenschutz bewusst sein.
  • Ein Java-Programm kann Daten auf andere Systeme verschieben und eine große Anzahl von Entwicklern und Administratoren kann damit arbeiten (einschließlich der Behebung von Fehlern).
  • Wenn in den Protokolldateien sensible Daten aufgezeichnet werden, verstößt Ihr Unternehmen gegen die Sicherheitsanforderungen und Sie verlieren möglicherweise Ihren Job.

2. Ignorieren Sie ausgelöste Ausnahmen nicht

Fangen Sie keine Ausnahme ab und ignorieren Sie sie dann. Das Ausblenden von Ausnahmen ist keine gute Möglichkeit, sie in Java zu behandeln. Notieren Sie sich mindestens den Namen der Ausnahme und die zugehörige Meldung. Auf diese Weise können Informationen zum Problem in Ihrem Eintrag gefunden werden. Das Debuggen von Java-Anwendungen aufgrund versteckter Ausnahmen ist unglaublich schwierig.

3. Verwenden Sie einen globalen Ausnahmebehandler

Während der Programmausführung wird es immer einige Ausnahmen geben, die zuvor nicht in Ihrem Code abgefangen wurden. Fügen Sie daher immer einen globalen Ausnahmehandler hinzu, um nicht abgefangene Ausnahmen zu behandeln. Dies ermöglicht nicht nur die Protokollierung und Behandlung der Ausnahme, sondern verhindert auch, dass die Anwendung abstürzt, wenn zur Laufzeit eine Ausnahme ausgelöst wird.

4. Schließen Sie Ressourcen nicht manuell

Eine weitere wichtige Empfehlung bei der Behandlung von Java-Ausnahmen besteht darin, der JVM zu erlauben, die Methode close() für die zu schließenden Ressourcen aufzurufen . Versuchen Sie nicht, sie selbst zu schließen. Dies kann leicht erreicht werden, indem die Ressourcen im Modul try-resources initialisiert werden . Semantik:
public class TryWithResourcesExample {

public static void main(String[] args) throws Exception {

try (Door door = new Door()) {

door.swing();

} catch (Exception e) { ..... }

} finally { .....}

}

}
Wie Sie sehen, schließt die JVM nach Abschluss des try...catch-Blocks die Ressource für Sie, wodurch die Möglichkeit komplexer und schwer zu behebender Ressourcenlecks ausgeschlossen wird.

5. Ausnahmen früh auslösen und später behandeln

Lösen Sie eine Ausnahme aus, wenn in Ihrem Code eine Ausnahmebedingung auftritt. Warten Sie nicht, bis irgendwelche Codezeilen ausgeführt werden, bevor Sie die Methode verlassen, in der Sie sich befinden. Beim Abfangen von Ausnahmen muss die Funktion am Ende der Methode platziert werden. Dadurch wird die Anzahl der Catch- Blöcke in Ihren Methoden reduziert, sodass Ihr Code einfacher zu lesen und zu warten ist.

6. Java-Ausnahmen sollten nicht protokolliert und erneut ausgelöst werden

Wenn eine Ausnahme auftritt, führen Sie einen der folgenden Schritte aus:
  • Arbeiten Sie weiter mit Ihrem Programm, während Sie die Ausnahme protokollieren.
  • Lösen Sie die Ausnahme erneut aus und lassen Sie eine andere Art der Datenprotokollierung zu.
Kombinieren Sie nicht beide Phasen. Protokollieren Sie niemals dieselbe Ausnahme und lösen Sie sie dann erneut aus, wie im folgenden Beispiel gezeigt:
try {

Class.forName("com.min.Example");

} catch (ClassNotFoundException ex) {

log.warning("Class was not found.");

throw ex;

}
Dies führt dazu, dass Code dupliziert wird und Protokolldateien mit doppelten Einträgen verstopft werden, was die Diagnose des Codes erheblich erschwert.

7. Unterdrücken Sie unterdrückte Ausnahmen

Unterdrückte Ausnahme ist eine neue Sprachfunktion, die nicht allen Entwicklern bekannt ist. Durch die Implementierung einer bewährten Methode mit Ressourcen können zwei Ausnahmen gleichzeitig ausgelöst werden. Diese Bedingung kann leicht überprüft werden, indem abgefragt wird, ob eine unterdrückte Ausnahme vorliegt. Die einzige Möglichkeit, festzustellen, ob diese Bedingung eingetreten ist, besteht darin, zu prüfen, ob die Zielausnahme auch eine unterdrückte Ausnahme enthält.

8. Geben Sie bei Verwendung der throw-Anweisung die genauen Ausnahmen an

Durch die Verwendung einer throw-Anweisung innerhalb eines Methodenkörpers würde ein unvorsichtiger Entwickler eine generische Ausnahmeklasse verwenden. Dies ist jedoch nicht die beste Möglichkeit, Ausnahmen in Java zu behandeln. Geben Sie stattdessen immer die genauen Ausnahmen an, die die Methode auslösen kann. Es hilft anderen Entwicklern, sich über die verschiedenen Fehlerbehandlungstechniken zu informieren, die verwendet werden können, wenn eine bestimmte Methode nicht wie erwartet funktioniert.

9. Behandeln Sie zuerst die offensichtlichste Ausnahme

Dabei handelt es sich eher um eine Compiler-Anforderung als um einen Tipp für Java-Ausnahmebehandlungspraktiken, aber ein Entwickler sollte immer zuerst die offensichtlichste Ausnahme und zuletzt die am wenigsten sichere Ausnahme behandeln. Wenn diese Regel nicht befolgt wird, gibt die JVM einen Kompilierungsfehler mit einer sehr kryptischen und schwer verständlichen Fehlermeldung zurück. Machen Sie Ihr Leben als Softwareentwickler einfacher, indem Sie bestimmte Ausnahmen in Ihrem Code immer behandeln.

10. Verwenden Sie moderne Semantik zur Ausnahmebehandlung

Java bietet viele Funktionen zur Fehler- und Ausnahmebehandlung, die die Entwicklung vereinfachen und die Menge an Java-Code erheblich reduzieren. Nutzen Sie die Möglichkeit, mehrere Ausnahmen in einem einzigen Catch- Block zu behandeln und Ressourcen mithilfe eines Try- Blocks automatisch zu schließen . Verwenden Sie Laufzeitausnahmen, damit andere Entwickler die von Ihnen ausgelösten Ausnahmen nicht bearbeiten müssen.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION