ZUMLページ読み込み中に処理できない例外が起こった場合、ウェブサーバーによって、直接処理されます。
つまり、JSPといったほかのページを処理するのと何も変わりません。
デフォルトでは、ウェブサーバーはエラーメッセージとそのトレースを表示します。

以下のようにINF/web.xmlの中でエラーページを指定することで、エラー処理をカスタマイズできます。より詳しくはJava Servlet Specificaiton を参照ください。
<!-- web.xml -->
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/WEB-INF/sys/error.zul</location>
</error-page>
ページ読み込み中にエラーが発生したら、ウェブサーバーはプログラマーが指定したエラーページ/error/error.zulに転送します。
転送するときに、ウェブサーバーはリクエスト属性を送信し、何が起こったかを表示します。属性は以下のようです。
|
Request Attribute |
Type |
|---|---|
|
javax.servlet.error.status_code |
java.lang.Integer |
|
javax.servlet.error.exception_type |
java.lang.Class |
|
javax.servlet.error.message |
java.lang.String |
|
javax.servlet.error.exception |
java.lang.Throwable |
|
javax.servlet.error.request_uri |
java.lang.String |
|
javax.servlet.error.servlet_name |
java.lang.String |
これらの属性を使用して、エラーページをカスタマイズすることができます。例えば、
<window title="Error ${requestScope['javax.servlet.error.status_code']}">
Cause: ${requestScope['javax.servlet.error.message']}
</window>
【ヒント】:エラーページはどんなサーブレットにでもなることができます。ZULのほかに、JSPまたは他のお好みのものを何でも使用できます。
【ヒント】:転送した後、エラーページは主なページとして表示されます。つまり、プログラマーはモーダルを指定したり、メインウィンドウにオーバーラップさせたりする必要はありません。