This is how WcmController.java, the "Controller" part of FileNet Workplace's implementation of MVC pattern, handles exceptions:
First, declare this:
[java]
private Exception configureWindowIdException = null;
[/java]
Then, in ConfigurePage function, do this:
[java]
public void configurePage(ServletContext applicationValue, HttpServletRequest request, long windowIdMode)
throws Exception
{
... skipped ...
configureWindowId(request);
// If configureWindowId constructed an exception, throw it.
if ( configureWindowIdException != null )
{
if ( !sp.isSignedIn() )
{
// We attempted to propogate a window Id when not signed in
// probably the result of signing out of an info page.
// Don't throw. Fix the windowId to mainWindow instead.
//
WindowID assignedId = new WindowID(null);
WindowID currentId = new WindowID(null);
assignWindowId(assignedId, currentId, false);
configureWindowState();
postProcessWindowId(assignedId, currentId, currentId,
false, false, false, false, false);
}
else
throw configureWindowIdException;
}
... skipped ...
}
[/java]
What about good old try-catch?
There is no proper exception handling in Workplace. Should I send this piece to
The Daily WTF?
Technorati Tags:
Filenet,
code