SWT はエラーおよび例外のトリガーに関して詳細に設計されています。 可能な限り、例外はプラットフォーム間で一貫してトリガーされます。 ただし、特定のプラットフォームでは、SWT のインプリメンテーションに固有のエラーが発生することがあります。
SWT は IllegalArgumentException、 SWTException、 および SWTError の 3 つのタイプの例外を トリガーすることができます。アプリケーションが SWT を呼び出すときに、 これ以外のタイプの例外またはエラーをキャッチする必要がないようにしなければなりません。
注: これらの 3 つのタイプ以外の例外が SWT から throw された場合は、 SWT インプリメンテーションに関するバグであると見なす必要があります。
SWT API メソッドに渡される引き数は、他の処理を実行する前に、状態および範囲が適切であるかどうか検査されます。 IllegalArgumentException は、引き数が無効であると判断された場合に throw されます。
SWT はすべてのプラットフォームで一貫して、この例外を throw します。 特定のプラットフォーム上で IllegalArgumentException が発生する場合は、 同一コードを別のプラットフォームで実行しても同じ例外が発生します。
SWTException は SWT 内部で回復可能エラーが発生した場合に throw されます。このエラー・コードおよびメッセージ・テキストを参照すると、問題の詳細がわかります。
SWT はすべてのプラットフォームで一貫して、この例外を throw します。 例外の throw 後も、すべてのプラットフォームで、SWT は既知の安定した状態に留まります。 例えば、SWT 呼び出しが非 UI スレッドから行われた場合に、この例外は throw されます。
SWTError は SWT 内部で回復不能エラーが発生した場合に throw されます。
SWT は、基本プラットフォーム呼び出しに失敗して SWT が未知の状態に置かれた場合や、 プラットフォームのグラフィックス・リソースの不足などの回復不能エラーが発生した場合に、このエラーを throw します。
SWT エラーが発生した場合は、アプリケーションが問題を解決するためにできることはほとんどありません。 アプリケーションの通常どおりの操作中に、これらのエラーが発生してはなりませんが、 信頼性の高いアプリケーションにはこれらのエラーをキャッチし、レポートする機能が必要です。