Voici la manière dont j'utilise les exceptions non vérifiées avec GWT.

J'encapsule les appels Rpc par une méthode grâce à l'AOP. Je fais un try catch de toutes les méthodes d'appels Rpc sur Throwable.

Lorsqu'une exception se produit, quelque soit son type, je la transforme en une RuntimeException que j'ai étendue et qui est connue par mon module GWT. Cette exception est dans la signature de mon appel Rpc. Ainsi je peux la récupérer proprement côté client afin d'afficher des messages propres à l'utilisateur final.

On peut donc étendre une RuntimeException, la déclarer dans les signatures des appels Rpc afin de retirer tous les blocs try catch des appels Rpc. Cela allège le code et centralise la gestion des erreurs.

On peut également ajouter des attributs à notre RuntimeException afin d'ajouter des informations à afficher à l'utilisateur final.

Ceci est très utile pour gérer proprement les Validateurs Hibernates par exemple, mais il y a surement d'autres utilités. Si vous en connaissez je (et la communauté) suis intéressé.