SWT tiene una estrategia bien definida para activar errores y excepciones. Siempre que es posible, las excepciones se activan de manera coherente entre plataformas. Sin embargo, algunos errores son específicos de una implementación de SWT en una plataforma concreta.
SWT puede activar tres tipos de excepciones: IllegalArgumentException, SWTException y SWTError. Las aplicaciones no deben capturar ningún otro de excepción o error al llamar a SWT.
Nota: Si aparte de estas tres excepciones, se lanza cualquier otra desde SWT, debe considerarse una anomalía en la implementación de SWT.
Antes de efectuar otra tarea, se comprueba que el estado y el rangp de los argumentos pasados sea el adecuado. Cuando se determina que un argumento es válido se lanza IllegalArgumentException.
SWT lanza esta excepción de manera coherente en todas las plataformas. El código que ocasiona IllegalArgumentException en una plataforma ocasionará la misma excepción en una plataforma distinta.
Cuando se produce un error recuperable dentro de SWT se lanza SWTException. El código de error y el texto del mensaje describen el problema de manera más detallada.
SWT lanza esta excepción de manera coherente en todas las plataformas. En todas las plataformas, SWT permanece en un estado estable conocido después de lanzar la excepción. Por ejemplo, se lanza esta excepción cuando se efectúa una llamada de SWT desde una hebra que no es de la UI.
Cuando se produce un error irrecuperable dentro de SWT, se lanza SWTError.
SWT lanza este error cuando se produce una anomalía en una llamada a la plataforma subyacente, lo cual deja a SWT en un estado desconocido; o cuando SWT tiene un error irrecuperable, como estar en ejecución sin recursos gráficos de la plataforma.
En cuanto se produce un error de SWT, es muy poco lo que una aplicación puede hacer para corregir el problema. Estos errores no deben producirse durante el curso normal de la operación de una aplicación; sin embargo, las aplicaciones de gran fiabilidad deben poder capturarlos e informar de ellos.