エラーを起こす可能性のあるページのセクションを実行するには、tryコンポーネントを使用します。tryコンポーネントを使用すると、セクションが正常に完了するまで出力がすべてバッファされるため、不完全な出力を行う危険をおかさずセクションを実行できます。
出力に失敗した場合、レンダリングは名前付きの子コンポーネントcatchに引き継がれます。名前付きの子catchは、MarlinネームスペースおよびcurrentThrowableキーでエラーを発生させた例外であるrenderingContextのプロパティにアクセスします。
多くの場合、Java開発者は、未チェックの例外を認めないインタフェース(UIX DataObjectインタフェースなど)により制約を受けます。これらのインタフェースでは、Java RuntimeExceptionのみが有効です。解決手段は、実際の例外をラップするoracle.bali.share.util.UnhandledExceptionクラスの使用です。その場合、tryコンポーネントは、このクラスのインスタンスを自動的にアンラップします。
Example:
...
<try xmlns="http://xmlns.oracle.com/uix/ui">
<contents>
<!-- Assume the following request throws an exception -->
<styledText text="${uix.data.problem.veryBadKey}"/>
</contents>
<catch>
<header messageType="error">
<boundAttribute name="text">
<!-- A UIX example of an easy way to display the exception -->
<contextProperty select="ui:currentThrowable"/>
</boundAttribute>
</header>
</catch>
</try>
...
try、catchおよびdisplayExceptionの使用
単純なコンポーネントおよびその他のコンポーネントの使用
Copyright © 1997, 2004, Oracle. All rights reserved.