web-dev-qa-db-fra.com

Différence entre lancer et lancer en Java?

Est-ce que n'importe qui peut clairement indiquer la différence entre jeter et jeter dans la gestion des exceptions Java avec un exemple? J'ai essayé de googler mais je n'arrivais pas à conclure. Pls aide

8
user3527594
  1. La clause throws sert à déclarer une exception et le mot clé throw à déclencher explicitement une exception.

  2. Si nous voyons la syntaxe sage, alors throw est suivi d'une variable d'instance et throws est suivi de noms de classe d'exception.

  3. Le mot clé throw est utilisé dans le corps de la méthode pour appeler une exception et la clause throws est utilisée dans la déclaration de la méthode (signature).

Par exemple

jeter 

throw new Exception("You have some exception")
throw new IOException("Connection failed!!")

jette

public int myMethod() throws IOException, ArithmeticException, NullPointerException {}
  1. Vous ne pouvez pas déclarer plusieurs exceptions avec throw. Vous pouvez déclarer plusieurs exceptions, par exemple. méthode publique void () lève IOException, SQLException.

  2. les exceptions vérifiées ne peuvent pas être propagées avec throw uniquement parce qu'elles sont explicitement utilisées pour lever une exception particulière. l'exception vérifiée peut être propagée avec throws.

Propagation d'exception: Une exception se propage de méthode en méthode, en remontant la pile d'appels, jusqu'à ce qu'elle soit interceptée. Donc, si a() appelle b (), qui appelle c (), qui appelle d (), et si d() lève une exception, l’exception se propage de d à c à b à a, à moins que l'une de ces méthodes ne détecte l'exception . Qu'est-ce que la propagation d'une exception?

38
Nirav Prajapati

throw utiliser pour lancer les Exception et throws déclareres à la méthode réelle, il pourrait jeter Exception.

public int findMax(int[] array) throws Exception{
    if(array==null)
       throw new NullPointerException(...);
    ...
}
7
public void someMethod(List<Foo> someList) throws SomeException { 
    if (someList.isEmpty()) throw new SomeException();
}
0
drewmoore