Handling Exception/Runtime Exception in JSF

Hi,
Any good pointers to documents describing proper error handling.
Not just navigation rules to an error.jsp file but also handling of runtime exceptions and exceptions in backing beans where you cannot use navigation rules (calling a method from JSF EL etc.).
I am developing jsr 168 portlets using jsf on websphere portal.
I can't get the error handling via web.xml to function and other places I can't manually make it go to an error.jsp in case of exceptions.
How to handle the runtime exception in JSF.
1. By including following tags in web.xml
<error-type>
<error-exception></error-exception>
<error-loaction>/error.jsp</error-loaction>
</error-type>
its not working.
2. If include the
<%@page errorPage="../error/GenericError.jsp" %>
in jsp page then
it is not forwading to error page giving asaertion failure exception
If we change the GenericError.jsp tag like
<f:view>
</f:view>
to
<f:subview>
</f:subview>
then it is going to error page but the
action inside the error page is not getting called its backing bean
Here is code of error.jsp
<%-- jsf:pagecode language="java" location="/JavaSource/pagecode/JSPs/ErrorPage1.java" --%><%-- /jsf:pagecode --%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ page isErrorPage="true" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<div class="errorMessage"><%= exception.getLocalizedMessage() %></div>
<f:subview id="name">
<h:commandButton action="#{OSPMTASecurityBean.cancel}" value="submit"/>
</f:subview>
</body>
</html>

If you would like to handle and navigate based on the exception type, this code would help you. btw I'm not familiar with portlet though.
http://sourceforge.net/projects/optionzero
http://sourceforge.net/forum/forum.php?forum_id=666191
You can declare exception type and navigation in faces-config.xml in declarative manner like Struts global exception notion.
Please let me know it's useful or not.
thanks,

Similar Messages

  • Handling Java runtime exception on Vista OS

    Hello Forum members,
    This is regarding the handling of runtime exception on Vista machine with JRE 1.4.2_14.
    Iam working on client / server scenario where i need handle the run time exception say SocketExcpetion or IOException like "No Route to Host " exception whenever there is network connection problem with the server.
    Problem:
    On Windows 2000 and Windows XP OS , Iam able to get the Socket Exception from the server when there is network connection problem and based on this Iam displaying some error message to the user but on Vista am not able to catch these runtime exception since Vista OS is blocking the runtime excpetion thrown from the server or network.
    Please let me know how to configure the Vista OS to allow the runtime exception to be thrown to the user or how to handle the programmatically (using java ) on Vista OS to throw exception.
    Any suggestion is welcome
    Best regards,
    Sudhir

    I have heard that on Vista machine , by default the windows firewall will block all the runtime exceptions (especially the ones which are thrown from the server).
    This problem is with respect to Client/server scenario where the server will throw SocketException when there is network connection problem and on the client side i need to catch and handle this exception to display appropriate message to the end user.
    Background: Iam able to handle exception thrown from the server on Windows 2000 and Windows XP but on Vista am facing the above said problem i.e. am not able to get any exception from the server.

  • How to properly handle Exception thrown in a .tag file?

    I've got a .jsp file that makes use of some custom tags, each defined in their own .tag file, and located in WEB-INF/tags. I'm having a lot of trouble with the scenario of cleanly dealing with an exception raised by scriptlets in either a .jsp file, and a .tag file. I'm using both Java and Tomcat 6....
    Originally, I wanted to use .tag files in order to componentize common elements that were present in .jsp pages, as well as move ugly scriptlets out of .jsp pages, and isolate them in tag files with their associated page elements.
    Things started getting hairy when I started exploring what happens when an exception is thrown (bought not handled) in a scriptlet in a .tag file. Basically, my app is a servlet that forwards the user to various .jsp pages based on given request parameters. The forwarding to the relevant .jsp page is done by calls to the following method:
    servletContext.getRequestDispatcher("/" + pageName).forward(request, response);
    Where 'pageName' is a String with the name of the .jsp I want to go to...
    Calls to this method are enclosed in a try block, as it throws both a ServletException, and IOException...
    When either my .jsp, or .tag throw an exception in a scriptlet, the exception is wrapped in a JSPException, which is then wrapped in a ServletException.
    I can catch this exception in my servlet... but then what? I want to forward to an error page, however, in the catch block, I can't forward in response to this exception, as that results in an IllegalStateException, as the response has already been committed. So what do I do? How do I get from this point, to my "error.jsp" page?
    It was suggested to me that I use the <% @ page isErrorPage="true" %> directive in my error.jsp,
    and the in my real .jsp, use <%page errorPage="/error.jsp" %>.
    This works great when the exception is thrown in my .jsp.... But when the exception is thrown in the .tag file... not so much...
    My .jsp page was rendered up until the point where the <my:mytag/> (the tag with the offending raised exception) was encountered. Then, instead of forwarding to the error page when the error in the tag is encountered, the error page is rendered as the CONTENT of of my TAG. The rest of the .jsp is then NEVER rendered. I checked the page source, and there is no markup from the original .jsp that lay below the my tag. So this doesn't work at all. I don't want to render the error page WITHIN the half of the .jsp that did render... Why doesn't it take me away from the .jsp with the offending tag altogether and bring me to the error.jsp?
    Then it was suggested to me that I get rid of those page directives, and instead define error handling in the web.xml using the following construct:
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/error</location>
    </error-page>
    For this, I created a new servlet called ErrorServlet, and mapped it to /error
    Now I could mangle the end of the URL, which causes a 404, and I get redirected to the ErrorServlet. Yay.
    However, exceptions being thrown in either a .jsp or .tag still don't direct me to the ErrorServlet. Apparently this error handling mechanism doesn't work for .jsp pages reached via servletContext.getRequestDispatcher("/" + pageName).forward(request, response) ????
    So I'm just at a total loss now. I know the short answer is "don't throw exceptions in a .jsp or .tag" but frankly, that seems a pretty weak answer that doesn't really address my problem... I mean, it would really be nice to have some kind of exception handler for runtime exceptions thrown in a scriptlet in .tag file, that allows me to forward to a page with detailed stacktrace output, etc, if anything for debugging purposes during development...
    If anyone has a few cents to spare on this, I'd be ever so grateful..
    Thanks!!
    Jeff

    What causes the exception?
    What sort of exception are you raising from the tag files?
    Have you got an example of a tag file that you can share, and a jsp that invokes it so people can duplicate the issue without thinking too much / spending too much time?
    My first instinct would be that the buffer is being flushed, and response committed before your Exception is raised.
    What you describe is pretty much standard functionality for Tomcat in such cases.

  • Invalid Handle Exception-What is the reason?

    I face with "Invalid Handle exception" (SQLException) while using the following code.
    Could anybody tell me the possible reasons/Situation the error rise?
    stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(SQLStmt);
         if(rs!=null){
    ResultSetMetaData rsm = rs.getMetaData();
         int totalcols = rsm.getColumnCount();
         Vector temp;
         while (rs.next()) {
         Vector temp = new Vector();
         for (int i = 1; i <= totalcols; i++) {
              String value = rs.getString(i);
              if (value == null) {
              value = "";
         temp.addElement(value);
         }//for loop ends here
         valueVector.addElement(temp);
         rs.close();
         stmt.close();     
    Thank you all

    Vector temp;
    while (rs.next()) {
    Vector temp = new Vector();Are you sure that this is the code you are running? The reason I ask is that I'm pretty sure that it won't compile, at least under JDK1.4. You should get a compile error something like "temp is already defined".
    If thats not the problem you need to find out on which line the error actually occurs. You can get this from the exception by calling the printStackTrace() method.
    Col

  • Can we handle exceptions for the expressions in select query?

    Hi all,
    Can we handle exceptions for the expressions in select query.
    I created a view, there I am extracting a substring from a character data and expected that as a number.
    For example consider the following query.
    SQL> select to_number( substr('r01',2,2) ) from dual;
    TO_NUMBER(SUBSTR('R01',2,2))
    1
    Here we got the value as "1".
    Consider the following query.
    SQL> select to_number( substr('rr1',2,2) ) from dual;
    select to_number( substr('rr1',2,2) ) from dual
    ORA-01722: invalid number
    For this I got error. Because the substr returns "r1" which is expected to be as number. So it returns "Invalid number".
    So, without using procedures or functions can we handle these type of exceptions?
    I am using Oracle 10 G.
    Thanks in advance.
    Thank you,
    Regards,
    Gowtham Sen.

    SQL> select decode(ltrim(rtrim(translate(substr('r21', 2, 2), '0123456789', ' ' ), ' '), ' '), null, (substr('r21', 2, 2)), null) from dual;
    DE
    21
    SQL> ed a
    SQL> select decode(ltrim(rtrim(translate(substr('rr1', 2, 2), '0123456789', ' ' ), ' '), ' '), null, (substr('rr1', 2, 2)), null) from dual;
    D
    -

  • How to handle exceptions of rfc in web dydnpro

    hi all,
    i want to handle exceptions of Remote function module in webdynpro.how can we do that one.are there any variables in model class for those exceptions.
    regards
    Naidu

    Hi,
    Hope the following snippet answers ur query
    IWDMessageManager manager = wdComponentAPI.getMessageManager();
                   try{
                        wdContext.currentB_Quotation_Createfromdata_InpElement().modelObject().execute();
                        wdContext.nodeOutputQuotation().invalidate();
                   } catch(WDDynamicRFCExecuteException ce) {
                        manager.reportException(ce.getMessage(), false);

  • Handling exception logging in a Java task scheduler program?

    I need to design a Task Scheduler Where
    1) User should be able to schedule multiple task at the same time.
    2) There should be proper error handling on failure of any task and should not affect the other running tasks.
    I found the related programme at http://www.roseindia.net/java/example/java/util/CertainAndRepeatTime.shtml
    My concern is about handling of point 2 in program provided at above link. Say I schedule a recurring mail send process in above program which will be run first time on 12 september 2011 at 2 am, and will be repeated after every 2 hours Say a one process fais at 8 am. I want to log it in log file with task name and time details. Now if I look at above programme i.e CertainAndRepeatTime.java. This program will exit once it schedules all the tasks. Where and how should handle the logging?
    Posted at http://stackoverflow.com/questions/7377204/handling-exception-logging-in-a-java-task-scheduler-program but folks suggesting Quartz scheduler . My Limitation is that i can't for quartz because my project allows me to use only standard java library. Is there any way we can handle logging in the same programme in case of exception.

    Well, first of all I wouldn't trust any code from roseindia. So you might want to look for more reliable advice.
    As for your logging, you can add it for example to the TimerTask itself. I don't recommend adding logging to that roseindia cr*p though.

  • How to handle exceptions in a Service

    Hi,
    I'm trying to get the new Service (background thread) stuff working and am close but I have a problem with handling exceptions that are thrown in my Task. Below is my code, does anyone know if I am doing something wrong, or is this just a flaw in the system at the moment:
    Here is my service:
    public class TestService extends Service<String>
        protected Task<String> createTask()
            return new Task<String>()
                protected String call() throws Exception
                   System.out.println("About to throw exception from inside task");
                   throw new Exception("Test failure");
    }Here is my code using this service:
    public void doTest()
        final TestService test = new TestService();
        test.stateProperty().addListener(new ChangeListener<Worker.State>()
            public void changed(ObservableValue<? extends Worker.State> source, Worker.State oldValue, Worker.State newValue)
                System.out.println("State changed from " + oldValue + " to " + newValue);
        test.start();
    }When the task throws its exception I was hoping to get a state change to FAILED but the callback is never triggered. I've tried listening for invalidation of the state and also tried listening to all the other properties on Service (running, progress, exception, etc). There doesn't seem to be any feedback after the exception has been thrown.
    Am I using this wrong, or is it a bug?
    Cheers for you help,
    zonski

    Hi,
    This was working in the build #32. I updated the JavaFX to build #36 and it stopped working.
    I checked in the latest build #37 as well which was released last week and this doesn't work here as well.
    If the task is succeeding the state is getting changed to SUCCEEDED but in case of an exception there is no change in the state
    Edited by: user12995677 on Aug 3, 2011 2:07 AM

  • How can I handle exception? - to give user more friendly notification

    Hi!
    User gets an error:
    'Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum =...'
    How can I handle this exception (when two users want to modify the same set of data at the same time)? I would like to hide the above error message and give user more friendly notification.
    Thanks in advance,
    Tom

    Thanks Vikas for your answer.
    These workarounds are really creative and I want to use one of them. BUT my problem is to 'catch' the exception/error when two users want to modify the same set of data at the same time.
    Those solutions which we can read about in this link you gave me describe handling exceptions in pl/sql processes. How can I catch the error I am talking about in pl/sql code?
    Code would be like this:
    DECLARE
    two_users EXCEPTION;
    BEGIN
    IF --catch the error
    THEN RAISE two_users;
    END IF;
    EXCEPTION WHEN two_users
    THEN :HIDDEN_ITEM := 'Error Message';
    END;
    What should I put in a place where there is '--catch the error' ??
    Thanks in advance,
    Tom

  • Handling exceptions inside a Presentation

    Hi people, I have a problem handling exceptions inside a Presentation that it is inside an screenflow (that it is inside a Global Creation Activity). This it is in some way related to this other thread: Managing transactions with DynamicSQL
    I have an Interactive Activity that renders an Object BPM's Presentation. This Presentation has dependent combos (i.e.: Country, State, City).
    Although I can add an exception transition to the Interactive Activity, if the BP-Method that fills the other combo fails, this exception transition it is not executed. Instead, it shows a screen with the stack trace.
    The solution I've found: catch the exception inside the BP-Method, and use this.showError let the user know that something went wrong.
    This solves my problem, but I'd like to know why ALBPM let me put an exception transition from an Interactive Activity? I mean, in which cases this transition could be executed
    Thanks in advance!

    This does not solve my problem, but I think that it would be a better design idea not to allow presentations to call server-side BP-Methods directly. Instead it should call a client-side BP-Method and from this method call the one in the server.
    This should improve the way we can handle an error that occurs on a server-side BP-Method
    It's for sure a "best practice", but I think it would be better if the tool help us to implemented this way
    What do you think?

  • To handle exception in insert query

    Hi ,
    I am trying it insert certain records from another table A to temp table B, while doing insert i am having exception of unique constraint in table B how can i check which record is throwing exception while inserting in table A
    for eg:
    insert into A
    select * from B;
    i need to handle exception in which record of B i am getting unique constraint error

    Hi,
    If you add an error logging clause (with keywords LOG ERRORS), then you can insert a row into another table for each row that can't be inserted according to your INSERT statement.
    To query table A to see which ids already exist in table B, you can say
    SELECT  *
    FROM    a
    WHERE   a_id  IN (
                          SELECT  b_id
                          FROM    b
    where b.b_id is the unique key in table b, and a.a_id is the value you're truing to insert into that column.
    If you just want to skip the insert when a matching row already exists, then use MERGE instead of INSERT.

  • Problem with  Handling  Exception  in Jsp

    hi
    I am unable to handling exception in Jsp.
    In my Simple Form i taken a simple text field named salary.
    Details.jsp
    <%@ page language="java" isErrorPage="true" errorPage="Det.jsp"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <html:html>
    <html:form action="/det.do">
    Enter Salary<html:text property="sal"/><br>
    <br>
    <html:submit value="SEND" />
    </html:form>
    </html:html>and my Actionclass is:
    package com.gurukul.util;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class DetUserAction extends Action {
         String s=null;
         int sal;
    public ActionForward execute(ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
         try
         sal=Integer.parseInt(req.getParameter("sal"));
         if (sal>0)
              s="success";
         else
         throw new SalException(sal);}
         catch(SalException e)
              e.getMessage();
         return map.findForward(s);
    and my Formbean is
    package com.gurukul.util;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class DetUserAction extends Action {
         String s=null;
         int sal;
    public ActionForward execute(ActionMapping map,ActionForm form,HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
         try
         sal=Integer.parseInt(req.getParameter("sal"));
         if (sal>0)
              s="success";
         else
         throw new SalException(sal);}
         catch(SalException e)
              e.getMessage();
         return map.findForward(s);
    }and my struts-config.xml is
                                  </form-bean>
                                  <form-bean name="DetUser"  
                           type="com.gurukul.util.DetUserForm">
                                  </form-bean>
    <action path="/det"
                          type="com.gurukul.util.DetUserAction"
                          name="DetUser"
                        input="/Details.jsp"
                           scope="request">
                           <exception key="errors.sal"
                           type="com.gurukul.util.SalException"
                           path="/jsp/Det.jsp"/>
                       <forward name="success" path="/jsp/DetailList.jsp"  />
                       <forward name="failure" path="/jsp/Details.jsp"/>
                         </action>and Det.jsp(i.e error jsp) is
    <%@ page language="java" isErrorPage="true"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <html:html>
    <center><b>
    Invalid Salary</b></center>
    <%= exception.getMessage() %>
    </html:html>but i didnt get exception on jsp.
    please help me
    Regards
    VAS

    hi
    can you please guide me how to handle exceptions in Jsp(struts)?

  • Can we handled exceptions in Oracle EDQ?

    Hi All,
    I need to know, how to handle exceptions in EDQ? for example when i am fetcthing data from DB view, DB is down/ process is hanged then i have to send error msg to Webservice.
    How can i handled this situation? Thanks in advance.
    Regards,
    Chandra

    Hi,
    This can be done, using the Triggers functionality, and a trigger that detects a certain type of error in a log and calls a web service.
    Someone more experienced than me in writing triggers would probably need to help with an example.
    Regards,
    Mike

  • Handle Exceptions during the Render Response phase

    Hi,
    How can we handle exceptions that occur during the render response phase, e.g. to redirect the user to an error page?
    In our application we have an unbounded taskflow with one page (jspx). It's quite a simple page, as it only displays some data from a managed bean.
    When we run the application and e.g. throw explicitly a RuntimeException form one of the getters, all we get is the 'progress indicator', not even a stacktrace on the page (only in the logs).
    Unfortunately, it doesn't seem possible to handle the exception, not via the taskflow Exception Handler, the web.xml error-page or a custom ADF Controller exception handler. In the latter case, we can catch the exception but when we try a redirect (on the external context or response) we get a 'java.lang.IllegalStateException: Response already committed' exception.
    Any suggestions?
    Ciao
    Aino

    Hi Aino
    I'm not sure if that's the problem, but I recently read somewhere (wish I remember where) an IllegalStatementException that was throwing because there was no entry page defined in web.xml.
    If you are trying that, remember that web.xml doesn't support .jspx pages.
    Edited by: TheCrusader on 09-jul-2010 15:03
    Edited by: TheCrusader on 09-jul-2010 15:10

  • What is the best way to handle Exception in Java?

    We are designing an application that will be developed using JSP + EJB .
    To deal with the exception part, we have thought about following solutions
    (1)All methods in EJB will be declare with throws clause, with the respect to the potential exceptions that can be thrown by method.
    We will catch only those exceptions, for which we can take alternative steps or further action when they occurred. All other exceptions will be thrown to the caller.
    (2)All JSP pages will have try/catch that catches exceptions thrown by EJB or by JSP code.
    (3)A common JSP file will be designated to handle Exception by setting isErrorPage property true and all JSP files are pointing to that particular file for exception handling.
    (4)Whenever any exception occurred in application, it will bubbled up and end user will get a common JSP page designed to handle exception.
    I am looking for the suggestions to improve this mechanism.
    Regards,
    Chetan

    The problem with the standard expection handling in a web environment is that all the potentially useful status information goes to the user, who probably won't make head nor tail of it. It also goes to the logs which someone might, or might not get arround to reading.
    What I do is to have a standard method called to deal with unanticipated exceptions and e-mail me a status report. This contains not just the extended stack trace (chasing any level of wrapped exception) but also details of the transaction being processed, including the user if known.
    Set up an e-mail alias with a list of people to receive these reports. Often you can have the problem fixed, and send the user an apologetic e-mail before they even get a complaint in.
    Create JSP tags to do this with any other per-page housekeeping.

Maybe you are looking for

  • Can I print photos at different resolutions in one PS5 file?

    I am printing photos on fabric. I'd like compare one printed at 300dpi and the same photo at 150 dpi. I was going to set them  side by side on a piece of fabric and realized I had to specify the resolution of the file I'm placing them in. Can I have

  • Error in using FM /pbs/select_into_table

    HI all,          I am using FM /pbs/select_into_table inside the loop ( select option ) for the first time it is working fine for the second loop I am getting this error. <b> Archive 001228-001/pbs/CPMM is Already open</b> If I give only one value in

  • Added tax not in IDOC

    We added a new tax to our materials, but in the idoc is not showing. Segment E1WPA07 is only showing the tax code that was already configured. Where can I check why the new tax code is not printing in the idoc WP_PLU with transaction WPMA. Thank you,

  • Preview issue with software recording in Captivate

    i have a software recording w/ intro slides - it look fine in the filmstrip view but after the intro slides (once in software recording) it cuts off a significant portion of the screen from view. I recorded the application window and it was a web bas

  • What is the best antivirus/antispyware for mac0sX 2014

    Can you please suggest what the best antivirus/antispyware programme for MacOSX (Mavericks) is now.  I am concerned about the new Russian viruses and spyware.