Pourquoi intercepter des Exceptions en Java, quand on peut l'attraper Throwables?

Nous avons récemment eu un problème avec un serveur Java application où la demande a été de jeter les Erreurs qui n'ont pas été pris parce que l'Erreur est une sous-classe distincte de Throwable et nous étions seulement d'intercepter les Exceptions.

Nous avons résolu le problème immédiat par la capture de Throwables plutôt que des Exceptions, mais cela m'a fait réfléchir à pourquoi vous voulez intercepter des Exceptions, plutôt que de Throwables, car vous auriez alors miss les Erreurs.

Donc, pourquoi voudriez-vous pour intercepter des Exceptions, quand on peut l'attraper Throwables?

  • Dupliquer: stackoverflow.com/questions/498217/...
  • Je ne pense pas que c'est un doublon. L'autre question est à propos de les jeter, ne pas les attraper.
  • Il y a QUELQUES conditions où l'erreur est peut-être coincé. Par exemple, si vous êtes à la construction d'un système dont les ressources sont JVM eux-mêmes. Je me demande si les serveurs gérés dans WL ne pris ces types d'exceptions, juste pour aviser le Gestionnaire de Noeud, et il soit redémarré. Mais, ce sont des sujets n'est-ce pas?
  • Ainsi, la capture de même une Exception n'est pas une bonne idée: stackoverflow.com/questions/2416316/...