Inhaltsverzeichnis:
- Optionale Fehlerbehandlung
- Umgang mit spezifischeren und weniger spezifischen Fehlern
- Verwenden von optionalen Objekten, um Ausnahmen zu vermeiden
Video: Let's Play Minecraft S2 #140 [De/HD] Fehler fixen. 2024
Viele der Java-Codebeispiele, die Sie zu Lernzwecken finden, enthalten Fehlerüberfüllung . Die Beispiele begraben Sie nicht in der Fehlerbehebung, aber sie machen gute Fehlerbehebungsmethoden immer dann zum Bestandteil des Anwendungscodes (und der Fehlerbehebungscode verdeckt den Zweck des Beispiels nicht vollständig).
In diesem Zusammenhang bieten die folgenden Abschnitte einen Überblick über die Techniken, die zum Auffangen von Fehlern verwendet werden. Sie werden drei verschiedene Fehlerbehebungsstufen sehen, die üblicherweise in Java-Anwendungen eingesetzt werden.
Fehler-Trapping ist der Vorgang, bei dem eine Ausnahme erkannt und der JRE mitgeteilt wird, dass Sie etwas damit machen wollen. Die JRE antwortet, indem sie den Fehler nicht an den Aufrufer der aktuellen Methode weitergibt, und verlässt sich stattdessen auf die aktuelle Methode, um das Problem zu beheben.
Fehler-Trapping ist normalerweise dem try-Teil einer try … catch-Anweisung zugeordnet, während die Fehlerbehandlung normalerweise dem catch-Teil einer try … catch-Anweisung zugeordnet ist.
Optionale Fehlerbehandlung
Der Ausdruck "optionale Fehlerbehandlung" ist etwas irreführend. Dies ist nur optional, da Java nicht erforderlich ist, um es als Teil der Verwendung der verschiedenen Objekte in Ihrer Anwendung auszuführen. Jede Anwendung, die Sie erstellen, sollte ein gewisses Maß an Fehlerbehandlung enthalten, auch wenn Java Sie nicht zum Hinzufügen benötigt.
In der Tat wird das Hinzufügen von Fehlerbehandlung zu jeder von Ihnen erstellten Anwendung, sogar einfache Testanwendungen, Ihnen dabei helfen, diesen Aspekt der Java-Programmierung zu beherrschen und Sie vor Entwicklern zu stellen, die diese Praxis nicht befolgen…
Fehlerbehandlung ist das Auflösen einer Ausnahme, die von der Anwendung erfasst wurde. In einigen Fällen bedeutet die Behandlung des Fehlers, dass dem Benutzer eine Nachricht angezeigt wird und eine Korrektur angefordert wird. Die Fehlerbehandlung kann jedoch viele Formen annehmen, von denen einige vollständig automatisiert und für den Benutzer unsichtbar sind. Dieser Vorgang ist normalerweise mit dem catch-Teil einer try … catch-Anweisung verknüpft.
Umgang mit spezifischeren und weniger spezifischen Fehlern
Die meisten Anwendungen können mehr als eine Ausnahme erzeugen. Darüber hinaus können Sie möglicherweise nicht genau erkennen, welche Ausnahmen eine Anwendung generieren wird. In diesem Fall müssen Sie mehrere catch-Klauseln für die Anweisung try … catch angeben. Jede catch-Klausel ist auf eine bestimmte Art von Fehler spezialisiert.
Darüber hinaus können Sie generische Ausnahmebehandlungsroutinen für diese Situationen verwenden, wenn die Anwendung auf Fehler stößt, die nicht in dem Satz liegen, den Sie ursprünglich erwartet haben.
Verwenden von optionalen Objekten, um Ausnahmen zu vermeiden
Von allen Ausnahmen, die Sie bei der Arbeit mit Java feststellen können, ist die NullPointerException (oder NPE) die am weitesten verbreitete und manchmal am schwierigsten zu diagnostizierende Ausnahme. Eine NullPointerException tritt jedes Mal auf, wenn Sie einen Nullwert an eine Java-Funktion übergeben, die einen tatsächlichen Wert erwartet hat. Das Problem ist, dass nicht jede Situation, die eine NPE erzeugt, tatsächlich ein Problem darstellt.
Manchmal erwarten Sie, dass ein Nullwert auftritt und benötigen eine Methode, um damit umzugehen. Betrachten Sie zum Beispiel die Situation, in der Sie einen bestimmten Wert in einer Liste potenzieller Werte finden möchten. Es ist durchaus möglich, dass Sie den gewünschten Wert nicht finden werden, was zu einer Nullwertrückgabe führt.
Wenn Sie dann versuchen, den Nullwert zu verarbeiten, erhalten Sie eine NPE. Da Sie erwartet haben, dass Nullwerte auftreten, kann es schwierig sein, den Fehler zu finden.
Bis jetzt war es für menschliche Entwickler schwer, das Schwarz-Weiß-Denken eines Computers zu verstehen. Java 8 bietet jetzt optionale Objekte, um die Situation zu behandeln, in der ein Rückgabewert einer Funktion optional und nicht erforderlich ist.