Heim  >  Artikel  >  Java  >  Was ist in der Java-Sprache der Unterschied zwischen throw und throws?

Was ist in der Java-Sprache der Unterschied zwischen throw und throws?

王林
王林nach vorne
2020-07-21 16:52:405186Durchsuche

Was ist in der Java-Sprache der Unterschied zwischen throw und throws?

Differenzanalyse:

(Empfohlenes Tutorial: Java-Einführungs-Tutorial)

Würfe: Wird verwendet, um zu deklarieren, dass eine Methode darf generieren Alle Ausnahmen werden ohne Verarbeitung hochgeladen und an den Anrufer weitergeleitet.

  • wird nach der Methodendeklaration verwendet, gefolgt vom Ausnahmeklassennamen.

  • Es können mehrere Ausnahmeklassennamen folgen, die durch Kommas getrennt sind

  • bedeutet, dass eine Ausnahme ausgelöst wird, die vom Aufrufer der Methode behandelt wird.

  • wirft bedeutet, dass die Möglichkeit einer Ausnahme besteht, aber Dies geschieht nicht unbedingt. Diese Ausnahmen

throw: werden verwendet, um einen bestimmten Ausnahmetyp auszulösen.

  • , das im Methodenkörper verwendet wird, gefolgt vom Ausnahmeobjektnamen

  • kann nur einen Ausnahmeobjektnamen

  • bedeutet, eine Ausnahme auszulösen, die von den Anweisungen im Methodenkörper behandelt wird

  • throw bedeutet, eine Ausnahme auszulösen, und die Ausführung von throw muss eine Art Ausnahme auslösen

Lassen Sie uns sie separat vorstellen:

wirft Ausnahmen nach der Methode aus. Tatsächlich bedeutet dies, dass Sie mit den Ausnahmen nichts anfangen möchten und andere über mögliche Ausnahmen informieren möchten , und überlassen Sie es anderen.

Codebeispiel:

package com.xinkaipu.Exception;
class Math{
    public int div(int i,int j) throws Exception{
        int t=i/j;
        return t;
    }
}
public class ThrowsDemo {
    public static void main(String args[]) throws Exception{
        Math m=new Math();
   }
}

(Video-Tutorial empfohlen:

Java-Video-Tutorial)

Auslösen: Behandeln Sie eine Ausnahme selbst oder fangen Sie die Ausnahme selbst ab Der Codeblock try...catch löst entweder eine Ausnahme aus (wirft eine Ausnahme aus).

Code-Implementierung:

package com.xinkaipu.Exception;
 
public class TestThrow
{
    public static void main(String[] args) 
    {
        try
        {
            //调用带throws声明的方法,必须显式捕获该异常
            //否则,必须在main方法中再次声明抛出
            throwChecked(-3);            
        }
        catch (Exception e)
        {
            System.out.println(e.getMessage());
        }
        //调用抛出Runtime异常的方法既可以显式捕获该异常,
        //也可不理会该异常
        throwRuntime(3);
    }
    public static void throwChecked(int a)throws Exception
    {
        if (a > 0)
        {
            //自行抛出Exception异常
            //该代码必须处于try块里,或处于带throws声明的方法中
            throw new Exception("a的值大于0,不符合要求");
        }
    }
    public static void throwRuntime(int a)
    {
        if (a > 0)
        {
            //自行抛出RuntimeException异常,既可以显式捕获该异常
            //也可完全不理会该异常,把该异常交给该方法调用者处理
            throw new RuntimeException("a的值大于0,不符合要求");
        }
    }
}

Das obige ist der detaillierte Inhalt vonWas ist in der Java-Sprache der Unterschied zwischen throw und throws?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen