Inhaltsverzeichnis:
- Auswurffehler unter Ausnahmebedingungen
- Fehler an den Aufrufer übergeben
- Erforderliche Fehlerbehandlung
Video: Java Tutorial Deutsch (German) [1/24] - Hallo Welt 2024
Es ist wichtig, dass Ihr Java-Code alles unternimmt, um ein Problem zu beheben. Es gibt jedoch Zeiten, in denen Ihr Code einfach nicht über genügend Informationen, Ressourcen, Rechte oder andere Anforderungen verfügt, um ein Problem zu beheben.
Wenn dies geschieht, löst Ihr Code einen Fehler aus, indem ein Ausnahmeobjekt verwendet wird. Der Begriff Ausnahme ist angemessen, da er die Ausnahme von der Regel sein sollte und nicht die erste von der Anwendung ausgeführte Aktion. Trotzdem treten bei Anwendungen Fehler auf, die außergewöhnliche Maßnahmen erfordern, und in den folgenden Abschnitten wird beschrieben, wie mit solchen Situationen umzugehen ist.
Auswurffehler unter Ausnahmebedingungen
In der Praxis können Sie eine Anwendung erstellen, die mehrere Arten von Fehlern erzeugen kann. Normalerweise würden Sie keinen Fehler ausgeben, wenn ein Wert im falschen Bereich liegt - stattdessen würden Sie dem Benutzer direkt eine Nachricht anzeigen. Sie können jedoch ein Beispiel erstellen, das veranschaulicht, wie ein Fehler innerhalb einer Methode ausgelöst und abgefangen wird.
Fehler an den Aufrufer übergeben
Viele Codebeispiele, mit denen Sie beginnen, fangen gerade an, an den Punkt zu kommen, an dem Sie Methoden von main () aufrufen. Die main () -Methode ist immer die oberste Ebene Ihrer Anwendung. Wenn Sie Methoden aufrufen, bilden die aufgerufenen Methoden zusätzliche Ebenen.
Eine von main () aufgerufene Methode wäre zum Beispiel die zweite Ebene Ihrer Anwendung. Wenn diese Methode eine andere Methode aufrufen müsste, wäre diese Methode auf der dritten Ebene und so weiter. Die meisten Anwendungen bestehen aus vielen Anrufstufen.
Wenn Sie auf dem Bildschirm eine Ausnahme sehen, zeigt es tatsächlich eine Liste der Methoden an, die die aktuelle Methode in einem Format aufgerufen haben, das als Aufrufstapel bezeichnet wird.
Der Aufrufstapel ist eine Auflistung der Methoden und der Reihenfolge, in der sie von anderen Methoden aufgerufen werden. Die Kenntnis des Anrufstapels kann Ihnen dabei helfen, die Quelle eines potenziellen Fehlers zu lokalisieren, wenn dies nicht auf der aktuellen Ebene der Anwendung geschieht.
Die Behandlung von Fehlern ist ein wesentlicher Bestandteil einer guten Programmierpraxis. Wenn Sie robuste Anwendungen benötigen, die nicht ständig abstürzen, müssen Sie eine gute Fehlerbehandlung bereitstellen. Es ist jedoch auch ein Problem, wenn Sie versuchen, einen Fehler zu behandeln, wenn Sie nicht über genügend Informationen verfügen, um diesen Fehler zu behandeln.
Wenn der Code versucht, einen Fehler auf einer zu niedrigen Ebene zu beheben, wird der Fehler von einer Ebene ausgeblendet, die ihn möglicherweise beheben könnte. Ja, Sie möchten einen Fehler auf der niedrigstmöglichen Ebene beheben, aber nicht auf Kosten einer Reparatur, die am Ende etwas Ernsteres verbergen könnte.
Wenn Sie feststellen, dass eine bestimmte Ebene einer Anwendung nicht über die erforderlichen Ressourcen, Informationen, Berechtigungen, Benutzerzugriffe oder ein anderes Element verfügt, das zum Behandeln eines Fehlers benötigt wird, geben Sie eine throw-Anweisung mit dem entsprechenden Ausnahmeobjekt aus.Die vorherige Ebene der Anwendung erhält die Ausnahme und bestimmt, ob sie damit umgehen kann.
Wenn die main () -Methode jedoch die Ausnahme erhält, müssen Sie bestimmen, was mit dem Fehler geschehen soll, oder die Anwendung wird abstürzen. Es wird allgemein als schlechte Programmierpraxis betrachtet, die Anwendung einfach abstürzen zu lassen - Sie müssen einen Weg finden, mit Fehlern umzugehen, auf die die Anwendung stößt.
Erforderliche Fehlerbehandlung
Java bietet zwei Arten von Ausnahmen: checked (diejenigen, die von der JRE überwacht werden) und nicht angekreuzte (diejenigen, die nicht von der JRE überwacht werden). Sie haben die Möglichkeit, eine ungeprüfte Ausnahme zu behandeln. Java zwingt Sie jedoch dazu, eine geprüfte Ausnahme zu behandeln. Ihr Code wird nicht kompiliert, wenn Sie versuchen, eine Methode zu verwenden, der eine geprüfte Ausnahme zugeordnet ist.
Eine geprüfte Ausnahme ist eine Ausnahme, die die JRE von der zu überwachenden Klassendefinition erhält. Die JRE zwingt den Benutzer der Klasse, eine Behandlung für die Ausnahme bereitzustellen, um sicherzustellen, dass die Klasse zuverlässig arbeitet.
Alle Arten von ungeraden Details sind mit überprüften und nicht angekreuzten Ausnahmen verknüpft. Eine einfache Möglichkeit zu wissen, ob eine Ausnahme geprüft wird, besteht darin, die übergeordnete Klasse zu kennen. Alle Ausnahmen, die von den Klassen Error oder RuntimeException abgeleitet sind, sind nicht markiert - jede andere Ausnahme ist aktiviert.
Die beste Vorgehensweise besteht darin, jede Ausnahme in Ihrer Anwendung zu behandeln, und Sie müssen sich keine Sorgen machen, ob eine Ausnahme aktiviert oder deaktiviert ist. Ein großer Entwickler kümmert sich immer um potenzielle Fehler - das ist das Endergebnis.