Pakiet SWT może generować wyjątki trzech typów: IllegalArgumentException, SWTException oraz SWTError. Wywołując pakiet SWT, aplikacje nie muszą przechwytywać żadnych wyjątków innego typu.
Uwaga: Jeśli pakiet SWT wygeneruje jakikolwiek wyjątek inny niż trzy powyższe, należy to uznać za efekt błędu programistycznego w implementacji pakietu SWT.
Wyzwalanie wyjątków w miarę możliwości następuje w sposób jednolity na wszystkich platformach. Niektóre błędy jednak mogą występować tylko w implementacjach SWT dla pewnych platform.
Argumenty przekazywane w wywołaniach metod API SWT są sprawdzane pod kątem prawidłowego stanu i zakresu przed podjęciem innych działań. Wyjątek IllegalArgumentException zostanie wygenerowany w przypadku stwierdzenia, że przekazany argument nie spełnia wymagań formalnych.
Kod powodujący wygenerowanie wyjątku IllegalArgumentException na jednej platformie wygeneruje go także na każdej innej.
Wyjątek SWTException jest generowany na skutek wystąpienia w SWT wewnętrznego błędu, który jest możliwy do naprawienia. Dalszą charakterystykę problemu przekazują kod błędu i tekst komunikatu.
Po wystąpieniu tego wyjątku pakiet SWT pozostaje w znanym i stabilnym stanie. Wyjątek tego typu jest generowany na przykład w wyniku wywołania pakietu SWT z wątku niezwiązanego z interfejsem użytkownika.
Wyjątek SWTError jest generowany, gdy wewnątrz pakietu SWT wystąpi niemożliwy do naprawienia błąd.
Pakiet SWT generuje ten błąd, gdy odpowiednie wywołanie platformy nie powiedzie się, pozostawiając pakiet SWT w nieznanym stanie, lub gdy pakiet SWT znajdzie się w stanie błędu niemożliwego do naprawienia, na przykład po wyczerpaniu się zasobów graficznych platformy.
Po wystąpieniu błędu SWT aplikacja w zasadzie nie ma możliwości jego skorygowania. Błędy tego typu nie powinny występować w trakcie normalnego działania aplikacji, jednak aplikacje, od których wymaga się wysokiego poziomu niezawodności, powinny mimo wszystko przechwytywać te błędy i je zgłaszać.