RuntimeException & amp; Erreur
Dans les exceptions de la hiérarchie, les descendants de
RuntimeException
et ceux de Error
sont des exceptions d'exécution/erreurs.
La différence entre les deux est: Ceux de moins de RuntimeException
sont
ceux causés par une mauvaise programmation, la conception, et ceux de Error
sont
ceux qui ne peuvent pas/ne doivent pas être contrôlées par le développeur.
Pour le codage d'une exception au sein de l'application,
par exemple, pour lancer une exception, lorsque quelque chose dans la logique d'affaires se produit,
le RuntimeException
est étendu.
La question est, quelle est exactement la différence entre l'extension de
RuntimeException
et l'extension de Error
-- sauf que l'extension de l'
Error
est une mauvaise pratique?
source d'informationauteur Roam
Vous devez vous connecter pour publier un commentaire.
Les deux
Error
etRuntimeException
sont désactivées exceptions, en ce sens qu'il indique un défaut avec le programme, et il ne doit généralement pas être pris. (NullPointerException
IndexOutOfBoundsException
etc.)Je pense que la principale différence entre les deux est que
RuntimeException
indiquent qu'il y a une erreur avec le programme, et uneError
est quelque chose qui est fatale, mais le programme de contrôle. (OutOfMemorryError
ThreadDeath
etc.)Donc sous-classement d'un
Error
est une mauvaise pratique car une erreur est généralement pas quelque chose qui pourrait être fixé par votre programme lors de l'exécution. Dans votre programme, si vous avez besoin de jeter quelque chose, utiliser unException
.Vous l'ai déjà mentionné les principales différences. Le Langage Java Specification dit la même chose en des termes différents. Pour
Error
c'étatsPour
RuntimeException
c'étatsCe que vous devriez tenir à l'écart de ces citations, c'est que vous allez souvent voir
comme un fourre-tout cas depuis
Exception
est un super-type deRuntimeException
. Mais vous aurez presque jamais voir (je ne l'ai jamais vu)