Java Heap Space : bien gérer l'exception
bonjour,
j'ai une application qui peut dans certains cas provoquer une erreur de type "java.lang.OutOfMemoryError: Java heap space". Je voudrais gérer convenablement cette erreur : dans mon cas il s'agirait de fermer simplement l'application.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
try
{
// mon code qui provoque l'erreur
}
catch (OutOfMemoryError ex)
{
JOptionPane.showMessageDialog(this, ex.getMessage(), "Critical Error.", JOptionPane.ERROR_MESSAGE);
Logger.getLogger(MonProjet.class.getName()).log(Level.SEVERE, null, ex);
System.gc();
System.exit(-1);
}
catch (Error ex)
{
JOptionPane.showMessageDialog(this, ex.getMessage(), "Critical Error.", JOptionPane.ERROR_MESSAGE);
Logger.getLogger(MonProjet.class.getName()).log(Level.SEVERE, null, ex);
System.gc();
System.exit(-1);
}
catch(Exception ex)
{
JOptionPane.showMessageDialog(this, ex.getMessage(), "Critical Error.", JOptionPane.ERROR_MESSAGE);
Logger.getLogger(MonProjet.class.getName()).log(Level.SEVERE, null, ex);
System.gc();
System.exit(-1);
} |
Ce code fonctionne très bien mais toutefois, je voudrais savoir si ma manière dé gérer cette erreur est "propre", à savoir :
- j'appelle le carbage collector (pour détruire les objets et vider la mémoire :question:) ;
- je fais un exit(-1) : je ne devrais pas plutôt faire un dispose() :question:
:merci: pour vos conseils.