Index: src/main/java/org/apache/maven/continuum/web/action/GeneralErrorAction.java
===================================================================
--- src/main/java/org/apache/maven/continuum/web/action/GeneralErrorAction.java	(revision 0)
+++ src/main/java/org/apache/maven/continuum/web/action/GeneralErrorAction.java	(revision 0)
@@ -0,0 +1,46 @@
+package org.apache.maven.continuum.web.action;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.apache.maven.continuum.Continuum;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+/**
+ * @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
+ *
+ * @plexus.component
+ *   role="com.opensymphony.xwork.Action"
+ *   role-hint="generalError"
+ */
+public class GeneralErrorAction
+    extends PlexusActionSupport
+{
+    /**
+     * @plexus.requirement
+     */
+    private Continuum continuum;
+
+    public String execute()
+        throws Exception
+    {
+        getLogger().info( "General error occurred!" );
+        Collection errors = getActionErrors();
+        
+        if ( errors == null || errors.size() == 0)
+        {
+            getLogger().debug( "No ActionErrors present!" );
+            return SUCCESS;
+        }
+        
+        for ( Iterator i = errors.iterator(); i.hasNext(); )
+        {
+            Object object = i.next();
+            
+            getLogger().info( object.toString() );
+        }
+        
+        return SUCCESS;
+    }
+
+}
Index: src/main/java/org/apache/maven/continuum/web/action/RuntimeErrorAction.java
===================================================================
--- src/main/java/org/apache/maven/continuum/web/action/RuntimeErrorAction.java	(revision 0)
+++ src/main/java/org/apache/maven/continuum/web/action/RuntimeErrorAction.java	(revision 0)
@@ -0,0 +1,46 @@
+package org.apache.maven.continuum.web.action;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.apache.maven.continuum.Continuum;
+import org.codehaus.plexus.xwork.action.PlexusActionSupport;
+
+/**
+ * @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
+ *
+ * @plexus.component
+ *   role="com.opensymphony.xwork.Action"
+ *   role-hint="runtimeError"
+ */
+public class RuntimeErrorAction
+    extends PlexusActionSupport
+{
+    /**
+     * @plexus.requirement
+     */
+    private Continuum continuum;
+
+    public String execute()
+        throws Exception
+    {
+        getLogger().info( "Runtime error occurred!" );
+        Collection errors = getActionErrors();
+        
+        if ( errors == null || errors.size() == 0 )
+        {
+            getLogger().debug( "No ActionErrors present!" );
+            return SUCCESS;
+        }
+        
+        for ( Iterator i = errors.iterator(); i.hasNext(); )
+        {
+            Object object = i.next();
+            
+            getLogger().info( object.toString() );
+        }
+        
+        return SUCCESS;
+    }
+
+}
Index: src/main/java/org/apache/maven/continuum/web/interceptor/ExceptionLoggingInterceptor.java
===================================================================
--- src/main/java/org/apache/maven/continuum/web/interceptor/ExceptionLoggingInterceptor.java	(revision 0)
+++ src/main/java/org/apache/maven/continuum/web/interceptor/ExceptionLoggingInterceptor.java	(revision 0)
@@ -0,0 +1,17 @@
+package org.apache.maven.continuum.web.interceptor;
+
+import com.opensymphony.xwork.ActionInvocation;
+import com.opensymphony.xwork.interceptor.ExceptionHolder;
+import com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor;
+
+public class ExceptionLoggingInterceptor
+    extends ExceptionMappingInterceptor
+{
+    protected void publishException(ActionInvocation invocation, ExceptionHolder exceptionHolder) {
+        
+        Throwable e = exceptionHolder.getException();
+        log.info( "", e );
+        
+        super.publishException( invocation, exceptionHolder );
+    }
+}
Index: src/main/resources/localization/Continuum.properties
===================================================================
--- src/main/resources/localization/Continuum.properties	(revision 431144)
+++ src/main/resources/localization/Continuum.properties	(working copy)
@@ -45,6 +45,7 @@
 error.page.title = Error Page
 error.section.title = An Error Has Occurred!
 error.exception.message = Exception Message:
+error.general.message = The web server is incapable of performing the request. Please try your request again later. Contact the administrator if this problem persists.
 
 # ----------------------------------------------------------------------
 # Page: About
Index: src/main/resources/xwork.xml
===================================================================
--- src/main/resources/xwork.xml	(revision 431144)
+++ src/main/resources/xwork.xml	(working copy)
@@ -5,8 +5,9 @@
   <package name="default" extends="webwork-default">
 
     <interceptors>
+      <interceptor name="exception-logger" class="org.apache.maven.continuum.web.interceptor.ExceptionLoggingInterceptor"/>
       <interceptor-stack name="defaultContinuumStack">
-        <interceptor-ref name="exception"/>
+        <interceptor-ref name="exception-logger"/>
         <interceptor-ref name="prepare"/>
         <interceptor-ref name="servlet-config"/>
         <interceptor-ref name="chain"/>
@@ -24,15 +25,23 @@
     <default-interceptor-ref name="defaultContinuumStack"/>
 
     <global-results>
-      <result name="continuumException">error.jsp</result>
-      <result name="continuumInitialization" type="redirect">/configuration!input.action</result>
+      <result name="generalError" type="redirect">generalError.action</result>
+      <result name="runtimeError" type="redirect">runtimeError.action</result>
     </global-results>
 
     <global-exception-mappings>
-      <exception-mapping exception="org.apache.maven.continuum.ContinuumException" result="continuumException"/>
-      <exception-mapping exception="org.apache.maven.continuum.initialization.ContinuumInitializationException" result="continuumInitialization"/>
+      <exception-mapping exception="org.apache.maven.continuum.ContinuumException" result="generalError"/>
+      <exception-mapping exception="java.lang.Exception" result="runtimeError"/>
     </global-exception-mappings>
 
+    <action name="generalError" class="generalError">
+      <result name="success">/generalError.jsp</result>
+    </action>
+
+    <action name="runtimeError" class="runtimeError">
+      <result name="success">/runtimeError.jsp</result>
+    </action>
+
     <action name="checkConfiguration" class="checkConfiguration">
       <result name="input">/redirectToContinuumInitialization.jsp</result>
     </action>
Index: src/main/webapp/generalError.jsp
===================================================================
--- src/main/webapp/generalError.jsp	(revision 0)
+++ src/main/webapp/generalError.jsp	(revision 0)
@@ -0,0 +1,16 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+  <ww:i18n name="localization.Continuum">
+    <head>
+        <title><ww:text name="error.page.title"/></title>
+    </head>
+    <body>
+      <div id="axial" class="h3">
+        <h3><ww:text name="error.section.title"/></h3>
+        <p>
+          <ww:text name="error.general.message"/>
+        </p>
+      </div>
+    </body>
+  </ww:i18n>
+</html>
Index: src/main/webapp/runtimeError.jsp
===================================================================
--- src/main/webapp/runtimeError.jsp	(revision 0)
+++ src/main/webapp/runtimeError.jsp	(revision 0)
@@ -0,0 +1,16 @@
+<%@ taglib uri="/webwork" prefix="ww" %>
+<html>
+  <ww:i18n name="localization.Continuum">
+    <head>
+        <title><ww:text name="error.page.title"/></title>
+    </head>
+    <body>
+      <div id="axial" class="h3">
+        <h3><ww:text name="error.section.title"/></h3>
+        <p>
+          <ww:text name="error.general.message"/>
+        </p>
+      </div>
+    </body>
+  </ww:i18n>
+</html>

