« Programmation Java/Exceptions » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
→Relancer une exception : Rôle de fillInStackTrace() |
||
Ligne 138 :
Exemple:
<source lang="java">
</source>
Ligne 159 :
<source lang="java">
...
...
</source>
La pile d'appel est remplie au moment de la création de l'objet exception.
C'est à dire que les méthodes <tt>printStackTrace()</tt> affiche la localisation de la création de l'instance.
Pour mettre à jour la pile d'appel d'une exception pré-existante (réutilisation pour éviter une allocation mémoire, ou relancer une exception), la méthode <tt>fillInStackTrace()</tt> peut être utilisée :
<source lang="java">
...
catch (IOException ioException) // capture IOException et ses sous-classes
{
// ... traitement partiel de l'exception ...
ioException.fillInStackTrace(); // <-- pile d'appel mise à jour pour pointer ici
throw ioException; // <-- relance l'exception
}
...
</source>
|