[Java] Lesen Sie die Fehlermeldung richtig? [Lesen des Stack-Trace]

Einführung

Lesen Sie die Fehlermeldung richtig, wenn ein hart geschriebenes Programm einen Fehler auslöst? Bist du weggelaufen und hast gesagt "Weil es Englisch ist: verwirrt:"? Ich glaube übrigens nicht, dass ich lernen kann, Fehler im Training zu lesen. Alle Fehlermeldungen sind auf Englisch, aber Sie können sie richtig entschlüsseln, indem Sie die Punkte gedrückt halten. (Weil es auf Englisch ist) Lauf nicht weg, stell dich einander gegenüber </ b> </ font>

Reihenfolge zum Lesen von Fehlermeldungen

Lesen wir es Schritt für Schritt anhand des folgenden Fehlerbeispiels: notebook_with_decorative_cover:

  • Der Inhalt ist für Neulinge: Anfänger: daher werde ich die Fehler langsam lesen.

Beispielprogramm.java


package section01;

import java.util.Random;

/*
 *Zufällige Sequenzgenerierung
 *Bestellung: 2N Muster
 */
public class practice4 {

	public static int NUM = 10;
	
	public static void main(String[] args) {
		int[] numArray = new int[0]; /*Deklarieren eines Arrays mit null Elementen*/
		Random random = new Random();
		
		int i, randomNum;
		for(i = 0 ; i < NUM ; i++) {
			numArray[i] = i; /*Hier tritt die Ausnahme auf*/
		}
		
		for(i = NUM-1 ; i > 1 ; i--) {
			randomNum = random.nextInt(NUM-1);
			int tmp = numArray[randomNum];
			numArray[randomNum] = numArray[i];
			numArray[i] = tmp;
		}
		
		for(i = 0 ; i < NUM ; i++) {
			System.out.println(Integer.toString(numArray[i]));
		}
	}
}

Fehlerbeispiel


Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
	at section01.practice4.main(practice4.java:20)★

1) Kehren Sie langsam zum Startpunkt der Fehlermeldung zurück

Wenn alle Fehlermeldungen ausgegeben werden, befindet sich der Cursor ganz unten. Im Beispiel ist dies der Teil von ★ neben (Practice4.java:20). Scrollen Sie also durch den Bildschirm und kehren Sie langsam zum Startpunkt zurück, an dem die Fehlermeldung ausgegeben wurde: arrow_left: Sobald Sie sich daran gewöhnt haben, können Sie sofort zurückkehren. Schauen Sie sich das Gesamtbild an, während Sie mit der Maus herumfahren: mouse_three_button: radius. Da es sich um ein Beispiel handelt, endet es übrigens in zwei Zeilen. Wenn Sie jedoch das Framework verwenden, sehen Sie mehr: Computer:

2) Suchen Sie am Anfang nach den Zeichen "Ausnahme" und "Fehler"

Im Beispiel ist dies die Stelle der Ausnahme im Thread "main" java.lang.ArrayIndexOutOfBoundsException: 0. Außerdem,

  • NullPointerException
  • NumberFormatException
  • OutOfMemoryError

etc. Dies ist der Inhalt des Fehlers. Es spielt keine Rolle, ob es keinen Sinn ergibt. Suchen Sie daher zuerst nach Ausnahme / Fehler. Das Wichtigste ist zu erkennen, dass "ich nicht weiß, was es bedeutet, aber ich erhalte einen Fehler namens NullPointerException."

3) Suchen Sie den Klassennamen des von Ihnen ausgeführten Programms

Die meisten Programmiersprachen, nicht nur Java, geben den Ort des Fehlers als "welche Datei und welche Zeile" aus. Suchen Sie also zuerst den Klassennamen des Programms, das Sie ausgeführt haben: Ausruf: In der Stichprobe ist dies der Teil von "at section01.practice4.main (Practice4.java:20)". Wenn du so weit kommst

  • In Zeile 20 von Practice4.java ist ein Fehler aufgetreten.
  • Der Inhalt des Fehlers ist "ArrayIndexOutOfBoundsException".

Nachdem Sie die beiden kennen, ändern Sie das Programm, um die "ArrayIndexOutOfBoundsException" zu entfernen, die in Zeile 20 von "Practice4.java" auftritt: stick_out_tongue: Wenn Sie nicht verstehen, fragen wir: "Die Ausnahme von △△ ist in der n-ten Zeile von ○○ aufgetreten. Wie kann ich sie beseitigen?"

Fehlermeldung

Wenn Sie jedes Mal googeln, werden Sie sich allmählich daran erinnern, sodass Sie nicht jedes Mal googeln müssen. Wenn Sie sich dann nur einen Teil des Wortes ansehen, können Sie sich ein Bild davon machen, welche Art von Fehler Sie machen. Darüber hinaus verwenden die meisten Programmiersprachen oder SQL häufig englische Wörter, die Fehlermeldungen ähneln, sodass unabhängig von der Sprache einige Vermutungen möglich sind.

Sie können den Inhalt des Fehlers auch dann verstehen, wenn Sie die Bedeutung oder das Lesen nicht verstehen: Stern:

Recommended Posts