Programmierung Java: Werfen Fehler

Es ist wichtig, dass Ihr Java-Code ist bemüht, das Problem zu beheben. Es gibt jedoch Zeiten, in denen Sie den Code einfach nicht genug Informationen, Ressourcen, Rechte hat, oder eine andere Anforderung ein Problem zu beheben.

Wenn dies geschieht, wirft Ihr Code einen Fehler durch eine Ausnahme-Objekt. Der Begriff Ausnahme geeignet ist, weil es die Ausnahme von der Regel sein sollte, eher als der erste Akt, der die Anwendung ausführt. Trotzdem begegnen Anwendungen Fehler, die außergewöhnliche Maßnahmen erfordern, und die folgenden Abschnitte beschreiben, wie mit diesen Situationen fertig zu werden.

Werfen Fehler bei außergewöhnlichen Bedingungen

Für die Praxis, können Sie eine Anwendung erstellen, die mehrere Arten von Fehlern erzeugen kann. Normalerweise würden Sie nicht einen Fehler aus, wenn ein Wert im falschen Bereich ist - können Sie eine Nachricht direkt statt dem Benutzer anzeigen würde. Sie können jedoch ein Beispiel erstellen, die zeigt, wie innerhalb einer Methode, einen Fehler zu werfen und zu fangen.

Passing Fehler an den Aufrufer

Viele Codebeispiele Sie beginnen gerade erst anfangen, bis zu dem Punkt zu gelangen, wo Sie Methoden aus dem Haupt sind () aufrufen. Die main () Methode ist immer die oberste Ebene Ihrer Anwendung. Wie Sie rufen Methoden, die Methoden, die Sie bilden zusätzliche Ebenen nennen.

Zum Beispiel kann ein Verfahren aus dem Haupt () aufgerufen würde auf der zweiten Ebene der Anwendung sein. Wenn das Verfahren ein anderes Verfahren zu nennen hatte, würde das Verfahren auf der dritten Ebene liegen, und so weiter. Die meisten Anwendungen sind aus vielen Ebenen der Anrufe.

In der Tat, wenn Sie eine Ausnahme Bildschirm sehen, zeigt es tatsächlich eine Liste der Methoden, die die aktuelle Methode in einem Format namens genannt Call-Stack.

Der Aufruf stackis eine Liste von Methoden und die Reihenfolge, in der sie von anderen Methoden aufgerufen werden. den Call-Stack kennen, können Sie die Quelle einer möglichen Fehler lokalisieren helfen, wenn es auf dem aktuellen Niveau der Anwendung nicht geschieht.

Fehlerbehandlung ist ein wesentlicher Bestandteil der guten Programmierstil. Wenn Sie robuste Anwendungen möchten, die nicht ständig abstürzen zu tun, müssen Sie Handhabung gute Fehler zu liefern. Um jedoch ein Fehler zu behandeln versuchen, wenn Sie nicht genügend Informationen haben, die Fehler zu behandeln ist auch ein Problem.

Wenn Ihr Code versucht, einen Fehler bei einer zu niedrigen Niveau zu beheben, versteckt sie den Fehler von einem Niveau, das es möglicherweise beheben könnte. Ja, wollen Sie auf dem niedrigstmöglichen Niveau um einen Fehler zu beheben, aber nicht auf Kosten einer Reparatur der Bereitstellung, die tatsächlich etwas ernster versteckt werden könnten.

Wenn Sie, dass ein bestimmtes Niveau einer Anwendung finden nicht die erforderlichen Ressourcen verfügt, Informationen, Privilegien, Benutzerzugriff oder ein anderes Element benötigt, um einen Fehler zu behandeln, geben Sie dann eine throw-Anweisung mit der entsprechenden Ausnahmeobjekt. Der bisherige Niveau der Anwendung wird die Ausnahme erhalten und bestimmen, ob sie damit umgehen kann.

Wenn jedoch die Methode main () die Ausnahme empfängt, müssen Sie bestimmen, was mit dem Fehler zu tun, oder die Anwendung zum Absturz bringen. Es ist in der Regel schlechte Programmierung der Praxis lassen Sie einfach den Absturz der Anwendung betrachtet - Sie mit irgendeiner Weise mit Fehlern, die die Anwendung Begegnungen zu tun zu kommen brauchen.

Erforderliche Fehlerbehandlung

Java bietet zwei Arten von Ausnahmen: geprüft (die von der JRE überwacht) und nicht markiert (jene, die von der JRE nicht überwacht werden). Sie haben die Möglichkeit, eine ungeprüfte Ausnahme der Handhabung. Allerdings Java zwingt Sie eine geprüfte Ausnahme zu behandeln. Ihr Code wird nicht einmal kompilieren, wenn Sie versuchen, eine Methode zu verwenden, die eine geprüfte Ausnahme mit ihm verbunden hat.

Eine geprüfte Ausnahme ist eine, die die JRE wird von der Klassendefinition gesagt zu überwachen. Die JRE zwingt den Benutzer der Klasse für die Ausnahme zu schaffen Handhabung zu gewährleisten, dass die Klasse zuverlässig ausführt.

Alle Arten von ungerade Details werden mit aktivierten und deaktivierten Ausnahmen verbunden. Eine einfache Möglichkeit, zu wissen, ob eine Ausnahme überprüft wird, ist die übergeordnete Klasse zu kennen. Alle Ausnahmen, die von den Programmfehler oder Runtime Klassen subclassed werden, sind nicht markiert - jede andere Ausnahme geprüft.

Die beste Vorgehensweise ist es, jede Ausnahme in der Anwendung zu handhaben, und Sie werden keine Sorgen zu machen, ob eine Ausnahme aktiviert ist oder nicht aktiviert. Ein großer Entwickler behandelt immer mögliche Fehler - das ist das Endergebnis.

Menü