错误处理

SWT 可以触发三种类型的异常:IllegalArgumentExceptionSWTExceptionSWTError。当调用 SWT 时,应用程序不需要捕获任何其它类型的异常或错误。

注意:如果从 SWT 中抛出除了这三种类型之外的任何其它异常,则应该认为 SWT 实现中出现故障。

平台之间的异常是尽可能一致触发的。然而,某些错误特定于特定平台上的 SWT 实现。

IllegalArgumentException

在完成其它任何工作之前,检查 SWT API 方法中传送的自变量的相应状态和范围。当确定自变量无效时,将抛出 IllegalArgumentException

在一个平台上导致 IllegalArgumentException 的代码在另一平台上将导致相同的异常。

SWTException

当在 SWT 内部发生可恢复错误时,就会抛出 SWTException。错误代码和消息文本对问题提供了进一步的描述。

SWT 在抛出异常之后仍然保持处于已知的稳定状态。例如,当从非用户界面线程中执行 SWT 调用时,就抛出了此异常。

SWTError

当 SWT 中发生不可恢复的错误时,就会抛出 SWTError

当底层平台调用失败时,SWT 就将抛出此错误,并使 SWT 处于未知状态,或者当知道 SWT 具有不可恢复的错误时(例如,平台图形资源用完了),就将抛出此错误。

一旦发生了 SWT 错误,应用程序几乎不可能更正问题。在应用程序的正常操作过程中应该不会遇到这些错误,但是,高可靠性的应用程序仍然应该捕获和报告这些错误。