名前付きの子catchについて

catch要素はtryコンポーネントの中で使用します。

catchコンポーネントは、メイン・コンテンツのレンダリング中に例外が発生した場合にレンダリングされるコンテンツのラッパー要素です。1つの要素が含まれている必要があります。挿入するコンポーネントはdisplayException要素です。

catchセクションのレンダリング時、ui:currentThrowableのRenderingContextのプロパティにアクセスすることにより、catchが表示される原因となった例外が提供されます。


Example:

...
<page xmlns="http://xmlns.oracle.com/uix/ui"
      xmlns:ui="http://xmlns.oracle.com/uix/ui"
      expressionLanguage="el">
  <content>
    <body xmlns="http://xmlns.oracle.com/uix/ui"
          xmlns:data="http://xmlns.oracle.com/uix/ui"
          xmlns:ui="http://xmlns.oracle.com/uix/ui">
      <contents>
        <dataScope>
          <provider>
            <!-- A data provider that will always fail, throwing a SQLException -->
            <data name="problem">
              <method class="oracle.cabo.servlet.demo.DemoData"
                      method="throwException" />
            </data>
            <!-- A data provider that succeeds -->
            <data name="noproblem">
              <instance class="oracle.cabo.servlet.demo.DemoData" />
            </data>
          </provider>
          <contents>
            <!-- But this "try" will fail -->
            <try>
              <contents>
                <!-- something that might trigger an error -->
                <pageLayout>
                  <contents>
                    <styledText text="${uix.data.problem['1Text']}" />
                  </contents>
                </pageLayout>
              </contents>
              <catch>
                <!-- So you'll reach this portion -->
                <displayException />
              </catch>
            </try>
          </contents>
        </dataScope>
      </contents>
    </body>
  </content>
</page>
...    

try、catchおよびdisplayExceptionの使用
単純なコンポーネントおよびその他のコンポーネントの使用

 

Copyright © 1997, 2004, Oracle. All rights reserved.