スワロー次のハンドラ考えてみましょう:それは、このハンドラが実行されたときにどうするかはかなり明らかだ顧客と開発者の観点からハンドラは例外
public class CreateProjectHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
// it does not matter what kind of exception this is:
throw new IllegalArgumentException("This is a test!");
}
}
を:いくつかの種類のエラーメッセージがポップアップする必要があります。
何が起こるか:何もありません。
より正確:例外はエラーログ(およびEclipseから起動された場合はコンソール)に記録されます。しかし、ユーザーは何も見ませんが、実際にはエラーがあることさえ知りません。
これは、すべてのハンドラごとにException
を捕まえることで解決できますが、醜く煩わしいだけでなく、各スタイルガイドと矛盾します。
ハンドラで飲み込まれた例外を処理する良い方法はありますか?
私は、[このチュートリアル]を使用してみました(http://www.vogella.com/tutorials/Eclipse4LifeCycle/article.html –
3.x互換モードでは、起動時に後で独自のイベントループアドバイザーをインストールして、「WorkbenchAdvisor」に委任しました。 –