Heim > Java > javaLernprogramm > Wie löst Java eine Ausnahme aus?

Wie löst Java eine Ausnahme aus?

(*-*)浩
Freigeben: 2020-09-17 16:22:03
Original
27929 Leute haben es durchsucht

Wenn Sie in Java eine Ausnahme auslösen möchten, müssen Sie zwei Java-Schlüsselwörter verwenden, die beide für Mechanismen zur Ausnahmebehandlung verwendet werden.

Wie löst Java eine Ausnahme aus?

Eine Methode behandelt diese Ausnahme nicht, sondern leitet sie an die aufrufende Hierarchie weiter. Wer auch immer diese Methode aufruft, wird diese Ausnahme behandeln. Dies ist es, was eine Ausnahme auslöst.

throw: Wirft die generierte Ausnahme aus (der Schwerpunkt liegt auf der Aktion). Was geworfen wird, kann entweder eine Ausnahmereferenz oder ein Ausnahmeobjekt sein. (Speicherort: innerhalb des Methodenkörpers)

throws: Wenn eine Methode möglicherweise eine Ausnahme auslöst, diese jedoch nicht verarbeiten kann, können Sie die throws-Klausel in der Methode verwenden Deklaration, um zu erklären, dass eine Ausnahme ausgelöst wird. Die damit geänderte Methode zeigt dem Aufrufer an, dass die Methode möglicherweise eine Ausnahme auslöst (es kann ein Typ oder mehrere Typen sein, die durch Kommas getrennt sind) (Position: nach dem Methodennamen oder der Methodennamenliste in der Methode geschrieben Vor dem Körper. )

Hinweis: Wenn Sie eine Methode aufrufen, die möglicherweise eine Ausnahme auslöst, müssen Sie einen Try-Catch-Codeblock hinzufügen, um zu versuchen, die Ausnahme abzufangen, oder eine Throws-Anweisung hinzufügen, um die Ausnahme auszulösen Hier muss eine Ebene von Anrufern beachtet werden: Die neue Ausnahme enthält alle Informationen der ursprünglichen Ausnahme. Auf dieser Grundlage können wir den Ort ermitteln, an dem die ursprüngliche Ausnahme aufgetreten ist

Einfache Verwendung:

// 定义一个方法,抛出 数组越界和算术异常(多个异常 用 "," 隔开)
public void Test1(int x) throws ArrayIndexOutOfBoundsException,ArithmeticException{
	System.out.println(x);
	if(x == 0){
		System.out.println("没有异常");
		return;
	}
	//数据越界异常
	else if (x == 1){
		int[] a = new int[3];
		a[3] = 5;
	}
	//算术异常
	else if (x == 2){
		int i = 0;
		int j = 5/0;
	}
}
Nach dem Login kopieren

Hauptmethode aufrufen:

public static void main(String[] args) {
        //创建对象
        ExceptionInital object = new ExceptionInital();
        // 调用会抛出异常的方法,用try-catch块
        try{
            object.Test1(0);
        }catch(Exception e){
            System.out.println(e);
        }
        // 数组越界异常
        try{
            object.Test1(1);
        }catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("数组越界异常:"+e);
        }

        // 算术异常
        try{
            object.Test1(2);
        }catch(ArithmeticException e){
            System.out.println("算术异常:"+e);
        }

        //使用 throw 抛出异常(可以抛出异常对象,也可以抛出异常对象的引用)
        try{
            ArrayIndexOutOfBoundsException  exception = new ArrayIndexOutOfBoundsException();
            throw exception;//new ArrayIndexOutOfBoundsException();
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("thorw抛出异常:"+e);
        }
    }
Nach dem Login kopieren

Ergebnis ausführen:

Wie löst Java eine Ausnahme aus?

Zusammenfassung des Unterschieds zwischen den Schlüsselwörtern throw und throws

1 Schreiben: throw wird im Methodenkörper verwendet, throws wird nach dem Funktionsnamen oder nach dem verwendet Parameterliste und vor dem Methodenkörper

2. Bedeutung: throw betont die Aktion, während throws eine Tendenz anzeigt, die tatsächlich eintreten kann, aber nicht unbedingt sein muss

3. Throws folgt die Ausnahmeklasse, Dabei handelt es sich um ein oder mehrere Vielfache, die durch Kommas getrennt werden. Auf throw folgt das Ausnahmeobjekt oder ein Verweis auf das Ausnahmeobjekt.

4. Auslöser: Der Benutzer löst eine Ausnahme aus. Wenn die Ausnahme in der aktuellen Methode ausgelöst wird, endet die Ausführung der aktuellen Methode Anweisung und dann Ende.). Es kann als Rückkehr verstanden werden.

Verwandte Lernempfehlungen:
Java Basic Tutorial

Das obige ist der detaillierte Inhalt vonWie löst Java eine Ausnahme aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage