Bonjour à tous !
J'aimerai mettre en place une solution permettant de contourner une exception arrivant de temps en temps
Je sais que c'est du bidouillage mais j'ai pour l'instant mis en place ceci dans mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part OutOfMemoryException
Au passage, Application est en fait une application graphique lançant plusieurs threads au moment de sa construction. J'espère juste que les exceptions eventuellement lancée par l'application en générale sont bien catchée et que celle-ci se "regénère" toute seule...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33 boolean actif = false; Application application; while(true) { if(!actif) { try { application =new Application(); actif=true; } catch (OutOfMemoryError e) { actif=false; application = null; System.gc(); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); application = null; System.gc(); e.printStackTrace(); } } try { Thread.sleep(10000); System.out.println("10sec"); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Que pensez vous de cette solution ? :s
Je l'utiliserai bien en attendant de pouvoir trouver d'ou vient mes fuites de mémoires...
Et peut-on être sûr que le "outOfMemoryException" ne sera pas lancé par le thread principale ayant pour objectif qu'une tempo de 10 sec ? Et qui du coup ne sera pas catché...
Partager