SWT dispose d'une stratégie bien définie concernant le déclenchement des erreurs et des exceptions. Si possible, les exceptions sont déclenchées uniformément sur toutes les plateformes. Cependant, certaines erreurs sont spécifiques à l'implémentation de SWT sur une plateforme particulière.
SWT peut déclencher trois types d'exceptions : IllegalArgumentException, SWTException et SWTError. Les applications n'ont en théorie pas à intercepter d'autres types d'exceptions ou d'erreurs lors d'appels vers SWT.
Remarque : Si d'autres exceptions en dehors des trois types mentionnés ci-dessus sont lancées de SWT, ceci doit être considéré comme un bogue dans l'implémentation de SWT.
L'état et le domaine des arguments transmis dans les méthodes d'API SWT sont vérifiés avant que tout autre tâche ne soit effectuée. Une exception IllegalArgumentException est lancée lorsqu'il est déterminé qu'un argument n'est pas valide.
SWT lance cette exception uniformément sur toutes les plateformes. Le code entraînant une exception IllegalArgumentException sur une plateforme causera la même exception sur une autre plateforme.
SWTException est lancé lorsqu'une erreur remédiable se produit dans SWT. Le code d'erreur et le texte du message fournissent une description plus détaillée de l'incident.
SWT lance cette exception uniformément sur toutes les plateformes. Après le lancement de l'exception, SWT demeure dans un état stable connu sur toutes les plateformes. Par exemple, cette exception est lancée lorsqu'un appel SWT est réalisé à partir d'une unité d'exécution qui n'est pas une interface utilisateur.
SWTError est lancé lorsqu'une erreur irrémédiable se produit dans SWT.
SWT lance cette erreur lorsqu'un appel d'une plateforme sous-jacente échoue, laissant SWT dans un état inconnu ou lorsque SWT rencontre une erreur irrémédiable, tel qu'un manque de ressources graphiques de la plateforme.
Lorsqu'une erreur SWT se produit, il y a bien peu de chose qu'une application puisse faire pour corriger l'incident. En cours normal de fonctionnement, ces erreurs ne doivent pas se produire dans une application, cependant les applications hautement fiables doivent intercepter et rapporter les erreurs.