public class ThrowException { public static void main(String[] args) { try { foo(); } catch(Exception e) { if (e instanceof IOException) { System.out.println("Completed!"); } } } static void foo() { // what should I write here to get an exception? } } Hi! I just started learning exceptions and need to catch an expetion, so please can anybody provide me with a solution? I'd be very grateful. Thanks!
7 Réponses :
static void foo() throws IOException { throw new IOException("your message"); }
Devrais-je écrire cela dans la méthode FOO?
Oui. Si cette ligne est atteinte, une exception sera lancée.
Notez que la méthode FOO doit être déclarée pour lancer l'exception. Sinon, vous obtiendrez une erreur de compilateur
Oh - j'ai oublié ça. Merci pour le conseil! J'ai mis à jour la réponse.
try { throw new IOException(); } catch(IOException e) { System.out.println("Completed!"); }
throw new IOException("Test");
Je viens de commencer à apprendre des exceptions et j'ai besoin d'attraper une exception p>
pour lancer une exception p>
xxx pré> pour attraper cette exception est préférable de ne pas utiliser
exception code> car est trop générique, à la place, attraper l'exception spécifique que vous savez comment gérer: p>
xxx pré> blockQquote>
Si l'objectif est de jeter l'exception à partir de la méthode puis dans votre principal: FOO () CODE>, vous devez le déclarer comme suit:
public static void main(String[] args){
try{
foo();
} catch (IOException e){
System.out.println("Completed!");
}
}
Peut-être que cela aide ...
Notez le moyen nettoyeur d'attraper des exceptions dans l'exemple ci-dessous - vous n'avez pas besoin de l'instance E de l'IoException code>. p>
Veuillez essayer le code suivant:
Qu'est-ce que
foo code> et comment se rapporte-t-il à
A code>?
Ceci est juste une syntaxe Java de base que n'importe quel livre ou introduction à Java vous apprendra. Je suggère de lire certains.