


So finden Sie den Ort, an dem eine Ausnahme im Ausnahmestapel in Java auftritt
Der Ausnahmestapel ist für uns das wichtigste Mittel, um Probleme im täglichen Leben zu lokalisieren, und er bietet uns eine große Hilfe bei der Lösung von Problemen. Aber wir alle haben möglicherweise die Angewohnheit, eine Ausnahme zu sehen, insbesondere wenn es viele Ausnahmestapel und tiefe Ebenen gibt.
Ich fühlte mich sehr besorgt und verängstigt, ich überflog es schnell und begann zu erraten, was das Problem sein sollte, und dann Basierend darauf wurde weiterhin geraten, den Code anzupassen, obwohl auch ein Debuggen möglich ist, was immer noch viel Zeit verschwendet.
Dies liegt daran:
1. Wir haben die Informationen zum Ausnahmestapel nicht sorgfältig gelesen.
2 . Wir wissen nicht genau, was das Problem verursacht.
Die Lösung ist:
1. Kennen Sie den Prozess der Ausnahmestapelgenerierung.
2. Lesen Sie die Stapelinformationen geduldig.
3. Lösen Sie das Problem
1. Ausnahmegenerierungsprozess: Fehler wird oben gemeldet, folgen Sie unten
Zum Beispiel: Wir haben den folgenden Testcode
package com.bsx.test; public class TestException { public static void main(String[] args) { TestException exception = new TestException(); exception.m1(); } public void m1() { m2(); } public void m2() { m3(); } public void m3() { String name = null; System.out.println(name.length()); } }
Nach der Ausführung lautet das Ausgabeergebnis wie folgt:
Exception in thread "main" java.lang.NullPointerException at com.bsx.test.TestException.m3(TestException.java:22) at com.bsx.test.TestException.m2(TestException.java:17) at com.bsx.test.TestException.m1(TestException.java:13) at com.bsx.test.TestException.main(TestException.java:9)
Wir können sehen, dass die Reihenfolge der Fehlerprotokollausgabe entgegengesetzt zur Aufrufreihenfolge ist.
Wir wissen, dass Java-Methoden bei der Ausführung im Stapel der virtuellen Maschine ausgeführt werden. Jedes Mal, wenn eine Methode ausgeführt wird, wird ein Stapelrahmen erstellt und in den Stapel der virtuellen Maschine verschoben.
Dies ist eine Last-In-First-Out-Struktur. Wenn also ein Fehler gemeldet wird, wird der Fehler zuerst vom Angerufenen gemeldet, und dann meldet der Anrufer nacheinander einen Fehler. Daher die Reihenfolge beim Drucken Bei Fehlern befindet sich auch die Fehlermeldeposition oben und die aufrufende Zeile rückwärts. Daraus können wir die Schlussfolgerung ziehen: Der Fehler wird oben gemeldet, und das Folgende folgt.
2. Verstehen Sie die Fehlermeldung: Suchen Sie den Ort des Fehlers in unserem Code
Aus der obigen Analyse wissen wir, dass sich der Fehlerort oben befindet. In den meisten Fällen gibt die Fehlermeldung oben an, wo der Fehler in unserem Code aufgetreten ist.
Aber manchmal ist das oberste Protokoll nicht unser eigener Code. Das liegt daran, dass unser Code den Code einiger JAR-Pakete von Drittanbietern aufruft. Dies hat jedoch keinen Einfluss auf die Lokalisierung des Problems. Wir lokalisieren das Problem weiterhin anhand des oben gemeldeten Fehlers und gehen weiter unten vor. Der tatsächliche Fehlerort ist weiterhin oben.
Dann müssen wir nur noch unseren eigenen Code von oben nach unten finden. Die erste gefundene Stelle unseres Codes ist die Stelle in unserem Code, die den Fehler verursacht hat. Manchmal sind einige Fehlermeldungen offensichtlich und wir können anhand der Fehlermeldungen direkt den Kern des Problems lokalisieren.
Manchmal gibt die Fehlermeldung nicht eindeutig die Ursache des Fehlers an. Zu diesem Zeitpunkt können wir an dieser Stelle einen Haltepunkt setzen, um den Fehler zu beheben.
Das obige ist der detaillierte Inhalt vonSo finden Sie den Ort, an dem eine Ausnahme im Ausnahmestapel in Java auftritt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)