Maison  >  Article  >  Java  >  En langage Java, quelle est la différence entre lancer et lancer

En langage Java, quelle est la différence entre lancer et lancer

王林
王林avant
2020-07-21 16:52:405217parcourir

En langage Java, quelle est la différence entre lancer et lancer

Analyse des différences :

(Tutoriel recommandé : Tutoriel d'introduction à Java)

lancements : Utilisé pour déclarer qu'une méthode peut générer Toutes les exceptions seront téléchargées sans aucun traitement et seront envoyées à quiconque appelle.

  • est utilisé après la déclaration de la méthode, suivi du nom de la classe d'exception

  • peut être suivi de plusieurs noms de classe d'exception, séparés par des virgules

  • signifie lancer une exception, qui sera gérée par l'appelant de la méthode

  • lancer signifie qu'il existe une possibilité d'exception, mais cela n'arrive pas nécessairement. Ces exceptions

throw : sont utilisées pour lancer un type d'exception spécifique.

  • utilisé dans le corps de la méthode, suivi du nom de l'objet d'exception

  • ne peut lancer qu'un seul nom d'objet d'exception

  • signifie lancer une exception, qui est gérée par les instructions dans le corps de la méthode

  • throw signifie lancer une exception, et l'exécution de throw doit lever une sorte d'exception

Présentons-les séparément :

throws déclare des exceptions après la méthode. En fait, cela signifie que vous ne voulez rien faire avec l'exception et que vous en parlez aux autres. exceptions possibles et laissez-les s’en occuper.

Exemple de code :

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();
   }
}

(Tutoriel vidéo recommandé : Tutoriel vidéo Java)

lancer : gérer vous-même une exception ou intercepter l'exception vous-même. try...catch code block lève une exception (lève une exception).

Implémentation du code :

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,不符合要求");
        }
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer