O SWT tem uma estratégia bem definida para disparo de erros e exceções. Onde for possível, as exceções são disparadas de forma consistente pelas plataformas. No entanto, alguns erros são específicos da implementação de um SWT em uma plataforma específica.
O SWT pode disparar três tipos de exceções: IllegalArgumentException, SWTException e SWTError.Os aplicativos não precisam capturar qualquer outro tipo de exceção ou erro durante a chamada do SWT.
Nota: se qualquer outra exceção além dessas três for lançada do SWT, deve ser considerada um erro na implementação do SWT.
O estado e o intervalo apropriados dos argumentos passados na API do SWT são verificados antes de qualquer trabalho ser feito. Uma IllegalArgumentException será lançada quando for determinado que um argumento é inválido.
O SWT lança essa exceção consistentemente por todas as plataformas. O código que causa uma IllegalArgumentException em uma plataforma causará a mesma exceção em uma plataforma diferente.
A SWTException é lançada quando um erro recuperável ocorre internamente no SWT.O código do erro e o texto da mensagem fornecem uma descrição mais detalhada do problema.
O SWT lança essa exceção consistentemente por todas as plataformas. Em todas as plataformas o SWT permanece em um estado estável conhecido, após lançar a exceção. Por exemplo, essa exceção é lançada quando uma chamada do SWT é feita em um encadeamento que não é da UI.
SWTError é lançado quando um erro irrecuperável ocorre no SWT.
O SWT lançará esse erro quando uma chamada da plataforma subjacente falhar, deixando o SWT em um estado desconhecido ou quando se sabe que o SWT tem um erro irrecuperável, como execução sem recursos gráficos da plataforma.
Quando ocorre um erro do SWT, há pouco que um aplicativo possa fazer para corrigir o problema. Esses erros não devem ser encontrados durante o curso normal da operação em um aplicativo, mas aplicativos de alta confiabilidade ainda devem capturar e relatar os erros.