his.
 </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 <cod