web-dev-qa-db-fra.com

Gestion des RuntimeExceptions dans Java

Quelqu'un peut-il expliquer comment gérer les exceptions d'exécution en Java?

19
RKCY

Cela ne diffère pas de la gestion d'une exception régulière:

try {
   someMethodThatThrowsRuntimeException();
} catch (RuntimeException ex) {
   // do something with the runtime exception
}
38
Bozho

Si vous connaissez le type d'exception susceptible d'être levée, vous pouvez l'attraper explicitement. Vous pouvez également intercepter Exception, mais cela est généralement considéré comme une très mauvaise pratique car vous traitez alors les exceptions de tous types de la même manière.

Généralement, le point d'une RuntimeException est que vous ne pouvez pas le gérer avec élégance, et ils ne devraient pas être levés lors de l'exécution normale de votre programme.

4
danben

Vous venez de les attraper, comme toute autre exception.

try {
   somethingThrowingARuntimeException()
}
catch (RuntimeException re) {
  // Do something with it. At least log it.
}
3
Confusion

Je ne sais pas si vous faites directement référence à RuntimeException en Java, donc je suppose que vous parlez d'exceptions d'exécution.

L'idée de base de la gestion des exceptions dans Java est que vous encapsulez le code que vous attendez peut déclencher une exception dans une instruction spéciale, comme ci-dessous.

try {
   // Do something here
}

Ensuite, vous gérez l'exception.

catch (Exception e) {
   // Do something to gracefully fail
}

Si vous avez besoin de certaines choses à exécuter, qu'une exception soit déclenchée ou non, ajoutez finally.

finally {
   // Clean up operation
}

Dans l'ensemble, cela ressemble à ceci.

try {
   // Do something here
}
catch (AnotherException ex) {
}
catch (Exception e) {  //Exception class should be at the end of catch hierarchy.
}
finally {
}
3
Ed Altorfer