SWT에서는 세 가지 유형의 예외, IllegalArgumentException, SWTException 및 SWTError를 트리거할 수 있습니다. SWT를 호출할 경우 응용프로그램에서 다른 유형의 예외나 오류를 발견하지 않습니다.
참고: SWT에서 이 세 가지 유형 외에 다른 예외가 발생하면 SWT 구현 버그로 간주됩니다.
가능하다면 예외는 플랫폼에서 일관되게 트리거됩니다. 그러나 일부 오류는 특정 플랫폼의 SWT 구현에 따라 다릅니다.
SWT API 메소드에 전달된 인수는 다른 작업을 수행하기 전에 상태와 범위가 맞는지 확인합니다. 인수가 올바르지 않을 경우 IllegalArgumentException이 발생합니다.
한 플랫폼에서 IllegalArgumentException을 발생시킨 코드는 다른 플랫폼에서도 같은 예외를 발생시킵니다.
SWT 내부적으로 복구 가능한 오류가 발생한 경우 SWTException이 발생합니다. 오류 코드와 메시지 텍스트에서 문제에 대한 자세한 설명을 제공합니다.
SWT는 예외를 발생시킨 후 알려진 안정된 상태로 유지됩니다. 예를 들어, 비UI 스레드에서 SWT 호출을 한 경우 이 예외가 발생됩니다.
SWT 내부에서 복구할 수 없는 오류가 발생한 경우 SWTError가 발생합니다.
기본 플랫폼 호출이 실패한 경우 SWT에서는 이 오류를 발생시키고 SWT는 알 수 없는 상태가 됩니다. 또는 SWT에 플랫폼 그래픽 자원 부족과 같이 복구할 수 없는 오류가 있는 경우에도 이 오류가 발생합니다.
SWT 오류가 발생하면 문제 해결을 위해 응용프로그램에서 할 수 있는 일이 거의 없습니다. 응용프로그램에서 정상적인 과정으로 작업하는 중에는 이런 오류가 발생하지 않지만 안정성이 높은 응용프로그램에서는 이런 오류를 발견하여 보고합니다.