Bonjour,

voilà j'aimerais pouvoir catcher les exceptions qui seraient levées dans l'Event Dispatch Thread (aka. l'EDT de Swing) sans avoir à entourer systématiquement tout les code que je lui fais exécuter par un try / catch.

Exemple pour comprendre (mon problème réel est plus complexe) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
// ma fonction dans mon thread principal.
 
// bla bla bla
EventQueue.invokeLater(new Runnable(){
    public void run() {
        Object nullObject = null;
        System.out.println("Je lève une exception..."+nullObject.toString());
    }
});
Bien sûr, si j'entoure mon appel à invokeLater avec un try ... catch, il ne servira à rien puisque c'est pas l'invokeLater executé dans le thread principal qui va générer l'exception, mais l'exécution du Runnable dans l'EDT.

La solution évidente serait de catcher mon exception directement dans run() en entourant mon bloc "Object nullObjet [...] System.out.println " par un try ... catch.


Malheureusement dans mon cas, je ne peux pas vraiment me le permettre. Y aurait-il un moyen de récuperer dans mon thread principal une exception levée par l'EDT ?

Merci d'avance