blob: d6fa1cdb5108091999dd076fa759199aff6d3754 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>ExceptionHandler</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ExceptionHandler";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../javax/faces/context/ExceptionHandlerFactory.html" title="class in javax.faces.context"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/faces/context/ExceptionHandler.html" target="_top">Frames</a></li>
<li><a href="ExceptionHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.faces.context</div>
<h2 title="Class ExceptionHandler" class="title">Class ExceptionHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>javax.faces.context.ExceptionHandler</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.util.EventListener, <a href="../../../javax/faces/event/FacesListener.html" title="interface in javax.faces.event">FacesListener</a>, <a href="../../../javax/faces/event/SystemEventListener.html" title="interface in javax.faces.event">SystemEventListener</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../javax/faces/context/ExceptionHandlerWrapper.html" title="class in javax.faces.context">ExceptionHandlerWrapper</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">ExceptionHandler</span>
extends java.lang.Object
implements <a href="../../../javax/faces/event/SystemEventListener.html" title="interface in javax.faces.event">SystemEventListener</a></pre>
<div class="block"><p class="changed_added_2_0"><strong
class="changed_modified_2_3">ExceptionHandler</strong> is the central
point for handling <em>unexpected</em> <code>Exception</code>s that
are thrown during the Faces lifecycle. The
<code>ExceptionHandler</code> must not be notified of any
<code>Exception</code>s that occur during application startup or
shutdown.</p>
<div class="changed_added_2_0">
<p>See the specification prose document for the requirements for the
default implementation. <code>Exception</code>s may be passed to the
<code>ExceptionHandler</code> in one of two ways:</p>
<ul>
<li><p>by ensuring that <code>Exception</code>s are not caught, or
are caught and re-thrown.</p>
<p>This approach allows the <code>ExceptionHandler</code>
facility specified in section JSF.6.2 to operate on the
<code>Exception</code>.</p>
</li>
<li><p>By using the system event facility to publish an <a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event"><code>ExceptionQueuedEvent</code></a> that wraps the <code>Exception</code>.</p>
<p>This approach requires manually publishing the <a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event"><code>ExceptionQueuedEvent</code></a>, but allows more information about the
<code>Exception</code>to be stored in the event. The
following code is an example of how to do this.</p>
<pre><code>
//...
} catch (Exception e) {
FacesContext ctx = FacesContext.getCurrentInstance();
ExceptionQueuedEventContext eventContext = new ExceptionQueuedEventContext(ctx, e);
eventContext.getAttributes().put("key", "value");
ctx.getApplication().publishEvent(ExceptionQueuedEvent.class, eventContext);
}
</code></pre>
<p>Because the <code>Exception</code> must not be re-thrown
when using this approach, lifecycle processing may continue
as normal, allowing more <code>Exception</code>s to be
published if necessary.</p>
</li>
</ul>
<p>With either approach, any <code>ExceptionQueuedEvent</code> instances
that are published in this way are accessible to the <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a>
method, which is called at the end of each lifecycle phase, as
specified in section JSF.6.2.</p>
<p class="changed_added_2_3">Note that if <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a> happens to
be invoked during <a href="../../../javax/faces/event/PhaseId.html#RENDER_RESPONSE"><code>PhaseId.RENDER_RESPONSE</code></a>,
the recovery options are more limited than when it is invoked during
other phases. Specifically, it is not valid to call <a href="../../../javax/faces/application/NavigationHandler.html#handleNavigation-javax.faces.context.FacesContext-java.lang.String-java.lang.String-"><code>NavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)</code></a> during
<code>RENDER_RESPONSE</code>.</p>
<p>Instances of this class are request scoped and are created by
virtue of <a href="../../../javax/faces/context/FacesContextFactory.html#getFacesContext-java.lang.Object-java.lang.Object-java.lang.Object-javax.faces.lifecycle.Lifecycle-"><code>FacesContextFactory.getFacesContext(java.lang.Object, java.lang.Object, java.lang.Object, javax.faces.lifecycle.Lifecycle)</code></a> calling <a href="../../../javax/faces/context/ExceptionHandlerFactory.html#getExceptionHandler--"><code>ExceptionHandlerFactory.getExceptionHandler()</code></a>.</p>
</div></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#ExceptionHandler--">ExceptionHandler</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#getHandledExceptionQueuedEvent--">getHandledExceptionQueuedEvent</a></span>()</code>
<div class="block"><p class="changed_added_2_0">Return the first
<code>ExceptionQueuedEvent</code> handled by this handler.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract java.lang.Iterable&lt;<a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#getHandledExceptionQueuedEvents--">getHandledExceptionQueuedEvents</a></span>()</code>
<div class="block"><p class="changed_added_2_0">The default implementation must
return an <code>Iterable</code> over all
<code>ExceptionQueuedEvent</code>s that have been handled by the <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a> method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract java.lang.Throwable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#getRootCause-java.lang.Throwable-">getRootCause</a></span>(java.lang.Throwable&nbsp;t)</code>
<div class="block"><p class="changed_added_2_0">Unwrap the argument <code>t</code>
until the unwrapping encounters an Object whose
<code>getClass()</code> is not equal to
<code>FacesException.class</code> or
<code>javax.el.ELException.class</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract java.lang.Iterable&lt;<a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#getUnhandledExceptionQueuedEvents--">getUnhandledExceptionQueuedEvents</a></span>()</code>
<div class="block"><p class="changed_added_2_0">Return an <code>Iterable</code> over
all <code>ExceptionQueuedEvent</code>s that have not yet been handled
by the <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a> method.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#handle--">handle</a></span>()</code>
<div class="block"><p class="changed_added_2_0">Take action to handle the
<code>Exception</code> instances residing inside the <a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event"><code>ExceptionQueuedEvent</code></a> instances that have been queued by calls to
<code>Application().publishEvent(ExceptionQueuedEvent.class,
<em>eventContext</em>)</code>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#isListenerForSource-java.lang.Object-">isListenerForSource</a></span>(java.lang.Object&nbsp;source)</code>
<div class="block">This method must return <code>true</code> if and only if this
listener instance is interested in receiving events from the
instance referenced by the <code>source</code> parameter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/faces/context/ExceptionHandler.html#processEvent-javax.faces.event.SystemEvent-">processEvent</a></span>(<a href="../../../javax/faces/event/SystemEvent.html" title="class in javax.faces.event">SystemEvent</a>&nbsp;exceptionQueuedEvent)</code>
<div class="block">When called, the listener can assume that any guarantees given
in the javadoc for the specific <a href="../../../javax/faces/event/SystemEvent.html" title="class in javax.faces.event"><code>SystemEvent</code></a>
subclass are true.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ExceptionHandler--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ExceptionHandler</h4>
<pre>public&nbsp;ExceptionHandler()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="handle--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handle</h4>
<pre>public abstract&nbsp;void&nbsp;handle()
throws <a href="../../../javax/faces/FacesException.html" title="class in javax.faces">FacesException</a></pre>
<div class="block"><p class="changed_added_2_0">Take action to handle the
<code>Exception</code> instances residing inside the <a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event"><code>ExceptionQueuedEvent</code></a> instances that have been queued by calls to
<code>Application().publishEvent(ExceptionQueuedEvent.class,
<em>eventContext</em>)</code>. The requirements of the default
implementation are detailed in section JSF.6.2.1.</p></div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../javax/faces/FacesException.html" title="class in javax.faces">FacesException</a></code> - if and only if a problem occurs while
performing the algorithm to handle the <code>Exception</code>, not
as a means of conveying a handled <code>Exception</code> itself.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
<a name="getHandledExceptionQueuedEvent--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandledExceptionQueuedEvent</h4>
<pre>public abstract&nbsp;<a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a>&nbsp;getHandledExceptionQueuedEvent()</pre>
<div class="block"><p class="changed_added_2_0">Return the first
<code>ExceptionQueuedEvent</code> handled by this handler.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>instance of <code>ExceptionQueuedEvent</code>.</dd>
</dl>
</li>
</ul>
<a name="getUnhandledExceptionQueuedEvents--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnhandledExceptionQueuedEvents</h4>
<pre>public abstract&nbsp;java.lang.Iterable&lt;<a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a>&gt;&nbsp;getUnhandledExceptionQueuedEvents()</pre>
<div class="block"><p class="changed_added_2_0">Return an <code>Iterable</code> over
all <code>ExceptionQueuedEvent</code>s that have not yet been handled
by the <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a> method.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the unhandled set of <code>ExceptionQueuedEvent</code>s.</dd>
</dl>
</li>
</ul>
<a name="getHandledExceptionQueuedEvents--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandledExceptionQueuedEvents</h4>
<pre>public abstract&nbsp;java.lang.Iterable&lt;<a href="../../../javax/faces/event/ExceptionQueuedEvent.html" title="class in javax.faces.event">ExceptionQueuedEvent</a>&gt;&nbsp;getHandledExceptionQueuedEvents()</pre>
<div class="block"><p class="changed_added_2_0">The default implementation must
return an <code>Iterable</code> over all
<code>ExceptionQueuedEvent</code>s that have been handled by the <a href="../../../javax/faces/context/ExceptionHandler.html#handle--"><code>handle()</code></a> method.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an <code>Iterable</code> over all <code>ExceptionQueuedEvent</code>s.</dd>
</dl>
</li>
</ul>
<a name="processEvent-javax.faces.event.SystemEvent-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processEvent</h4>
<pre>public abstract&nbsp;void&nbsp;processEvent(<a href="../../../javax/faces/event/SystemEvent.html" title="class in javax.faces.event">SystemEvent</a>&nbsp;exceptionQueuedEvent)
throws <a href="../../../javax/faces/event/AbortProcessingException.html" title="class in javax.faces.event">AbortProcessingException</a></pre>
<div class="block"><p>When called, the listener can assume that any guarantees given
in the javadoc for the specific <a href="../../../javax/faces/event/SystemEvent.html" title="class in javax.faces.event"><code>SystemEvent</code></a>
subclass are true.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../javax/faces/event/SystemEventListener.html#processEvent-javax.faces.event.SystemEvent-">processEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../javax/faces/event/SystemEventListener.html" title="interface in javax.faces.event">SystemEventListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>exceptionQueuedEvent</code> - the <code>SystemEvent</code> instance that
is being processed.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../javax/faces/event/AbortProcessingException.html" title="class in javax.faces.event">AbortProcessingException</a></code> - if lifecycle processing should
cease for this request.</dd>
</dl>
</li>
</ul>
<a name="isListenerForSource-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isListenerForSource</h4>
<pre>public abstract&nbsp;boolean&nbsp;isListenerForSource(java.lang.Object&nbsp;source)</pre>
<div class="block"><p>This method must return <code>true</code> if and only if this
listener instance is interested in receiving events from the
instance referenced by the <code>source</code> parameter.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../javax/faces/event/SystemEventListener.html#isListenerForSource-java.lang.Object-">isListenerForSource</a></code>&nbsp;in interface&nbsp;<code><a href="../../../javax/faces/event/SystemEventListener.html" title="interface in javax.faces.event">SystemEventListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the source that is inquiring about the
appropriateness of sending an event to this listener instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value as specified above</dd>
</dl>
</li>
</ul>
<a name="getRootCause-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRootCause</h4>
<pre>public abstract&nbsp;java.lang.Throwable&nbsp;getRootCause(java.lang.Throwable&nbsp;t)</pre>
<div class="block"><p class="changed_added_2_0">Unwrap the argument <code>t</code>
until the unwrapping encounters an Object whose
<code>getClass()</code> is not equal to
<code>FacesException.class</code> or
<code>javax.el.ELException.class</code>. If there is no root cause, <code>null</code> is returned.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>t</code> - passed-in wrapped <code>Throwable</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>unwrapped object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - if argument <code>t</code> is
<code>null</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>2.0</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../javax/faces/context/ExceptionHandlerFactory.html" title="class in javax.faces.context"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/faces/context/ExceptionHandler.html" target="_top">Frames</a></li>
<li><a href="ExceptionHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>