エラー処理

SWT は IllegalArgumentExceptionSWTException、 および SWTError の 3 つのタイプの例外を トリガーすることができます。アプリケーションが SWT を呼び出すときに、 これ以外のタイプの例外またはエラーをキャッチする必要がないようにしなければなりません。

注: これらの 3 つのタイプ以外の例外が SWT からスローされた場合は、 SWT 実装に関するバグであると見なす必要があります。

可能な限り、例外はプラットフォーム間で一貫してトリガーされます。 ただし、特定のプラットフォームでは、SWT の実装に固有のエラーが発生することがあります。

IllegalArgumentException

SWT API メソッドに渡される引数は、他の処理を実行する前に、状態および範囲が適切であるかどうか検査されます。 IllegalArgumentException は、引数が無効であると判断された場合にスローされます。

特定のプラットフォーム上で IllegalArgumentException が発生する場合は、 同一コードを別のプラットフォームで実行しても同じ例外が発生します。

SWTException

SWTException は SWT 内部で回復可能エラーが発生した場合にスローされます。このエラー・コードおよびメッセージ・テキストを参照すると、問題の詳細がわかります。

例外のスロー後も、SWT は既知の安定した状態に留まります。 例えば、SWT 呼び出しが非 UI スレッドから行われた場合に、この例外はスローされます。

SWTError

SWTError は SWT 内部で回復不能エラーが発生した場合にスローされます。

SWT は、基本プラットフォーム呼び出しに失敗して SWT が未知の状態に置かれた場合や、 プラットフォームのグラフィックス・リソースの不足などの回復不能エラーが発生した場合に、このエラーをスローします。

SWT エラーが発生した場合は、アプリケーションが問題を解決するためにできることはほとんどありません。 アプリケーションの通常どおりの操作中に、これらのエラーが発生してはなりませんが、 信頼性の高いアプリケーションにはこれらのエラーをキャッチし、レポートする機能が必要です。