Handling JDBC Exception

Hi,
I would like to know how we can handle exceptions thrown from the database like "uniquekey constraint" , "database server down". etc. How can we handle it ? Do we have an option to use "Fault messages" for JDBC adapter? If so, how can be it be done using Fault message mapping?
Regards,
XA

>
> I would like to know how we can handle exceptions thrown from the database like "uniquekey constraint" , "database server down". etc. How can we handle it ? Do we have an option to use "Fault messages" for JDBC adapter? If so, how can be it be done using Fault message mapping?
>
uniquekey constraint error issue with Data mostly so you have to make sure that data was correct, even you can change Table field types to avoid this.
Server Down--- Create a ALERTS for this, communictaion channel throws exception .
Regards,
Raj

Similar Messages

  • RFC JDBC Exception Handling

    Hello,
    i have the following scenario:
    RFC receiver adapter (synchronous) <> XI <> JDBC receiver adapter (to MS SQL-database)
    Is it possible to catch JDBC-exceptions, e.g. "duplicate primary key" and pass it to the calling rfc adapter?
    thanks for your help
    Christian

    Hello,
    still my problem is the exception handling of the synchronous JDBC - call.
    If an error occurs I get the error "no payload found" in sxmb_moni_bpe
    I think this is a problem of where the error occur, in the SOAP header
    In sxmb_moni i get the following Error:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Aufruf eines Adapters
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'KUNDEN' (structure 'STATEMENT_NAME'): com.microsoft.sqlserver.jdbc.SQLServerException: Verletzung der PRIMARY KEY-Einschränkung 'PK_Kunden'. Ein doppelter Schlüssel kann in das 'dbo.KUNDEN'-Objekt nicht eingefügt werden.</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Has anybody got any idea where my mistake is?#
    I´m at loss.
    If you need further information, contact me. I´ll send you the required informations.
    Thanks and regards
    Christian

  • ADF: Gracefully handling JDBC connection errors?  Part II

    Hi gang
    I while back I posted a forum post to find a solution to "display a specific web page when the JDBC connection drops out on our ADF application, specifically the following error: oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection"
    ...you can see the original post here:
    Re: ADF: Gracefully handling JDBC connection errors?
    For the life of me I can't get this to work now. It appears I can't redirect to another page during the call to reportException. I've had a play with different methods of redirecting, as seen in the following code sample:
    public class ErrorHandlerImpl extends DCErrorHandlerImpl {
      public ErrorHandlerImpl() {
        super(true);
      @Override
      public void reportException(DCBindingContainer dCBindingContainer, Exception exception) {
    //    try {
          String message = exception.getMessage();
          if (message.indexOf("JBO-26061") >= 0) {
            // Method 1
            FacesContext fc = FacesContext.getCurrentInstance();
            UIViewRoot viewRoot =
            fc.getApplication().getViewHandler().createView(fc, "faces/errorPage.jspx");
            fc.setViewRoot(viewRoot);
            fc.renderResponse();
            // Method 2              
            // FacesContext fc = FacesContext.getCurrentInstance();
            // fc.getApplication().getNavigationHandler().handleNavigation(fc, null, "goError");
            // fc.responseComplete();
            // Method 3 - required IOExcepition handler
            // FacesContext.getCurrentInstance().getExternalContext().redirect("faces/errorPage.jspx");
          } else
              super.reportException(dCBindingContainer, exception);
    //    } catch (IOException e) {
    }... with no success.
    Has anyobody any other solutions or advice on getting this to work?
    Your help appreciated.
    Thanks & regads,
    CM.
    PS. JDev 11gR1 ADF BC + ADF Faces RC

    Hi Frank
    Yep, I' tried redirect, that was method 3 (you can see all 3 methods I've attempted, last 2 are commented out).
    With the declarative ADFc exception handler, problem is it's a catch all, not specifically for JBO-26061. Can you think of a way I can tailor fit it for JBO-26061 with a custom message "Database down"?
    In addition the exception handler is not consistently called. As example, if you're moving between pages rather than operating on 1 page, the standard af:messages error dialog is shown if the db connection has been dropped, rather than navigating to the exception handler page. As such it seems the DCErrorHandlerImpl.reportExceptions is the better chokepoint to work from.
    Cheers,
    CM.

  • ADF: Gracefully handling JDBC connection errors?

    Hi gang
    We've a use case to display a specific web page when the JDBC connection drops out on our ADF application, specifically the following error:
    oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
    I've been researching solutions to this and came up with a near solution of placing the following entry in the application's web.xml file:
    <error-page>
      <exception-type>oracle.jbo.DMLException</exception-type>
      <location>/MyErrorPage.jsp</location>
    </error-page>This works okay but is a blunt mechanism as it captures all DMLExceptions which includes insert/update/delete failures, as well as the JDBC connection drop out.
    Has anybody come up with a better solution for handling JDBC connection drop outs?
    Thanks & regards,
    CM.
    PS. (JDev 11g build 5188, ADF BC + ADF Faces RC)

    Thanks John, that's the solution. For some reason I'd forgotten that DCErrorHandlerImpl exists in the controller layer, not the model layer, so it makes perfect sense to override it and do the redirect.
    Here's what I came up with:
    @Override
    public void reportException(DCBindingContainer dCBindingContainer,
                                Exception exception) {
        try {
            String message = exception.getMessage();
            if (message.indexOf("JBO-26061") >= 0) {
                FacesContext.getCurrentInstance().getExternalContext().redirect("faces/ErrorPageJDBCFailure.jspx");
            } else
                super.reportException(dCBindingContainer, exception);
        } catch (IOException e) {
    }The following OTN post shows some other methods to do the redirect: JSF forward Vs redirect
    Cheers!
    CM.

  • How to handle the Exception when RegisterEventProcessorAsync

    In our Cloud Service project, we have 2 instances for work role (deploy to Azure), the work role is consume events from the EventHub using EventProcessorHost).
    When we want to register EventProcessor to consume data (see below):
    await eventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    Sometimes we will got the Exception:
    Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (412) There is
    currently a lease on the blob and no lease ID was specified in the request.. ---> System.Net.WebException: The remote server returned an error: (412)
    There is currently a lease on the blob and no lease ID was specified in the request..
      at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpWebResponse resp, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlobSharedImpl.<DeleteBlobImpl>b__1b(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)
       at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)
       --- End of inner exception stack trace ---
       at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndDeleteIfExists(IAsyncResult asyncResult)
       at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass1`1.<CreateCallback>b__0(IAsyncResult ar)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at Microsoft.ServiceBus.Messaging.BlobLeaseManager.<DeleteAllAsync>d__2a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<InitializeAsync>d__4.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<StartAsync>d__e.MoveNext()
       --- End of inner exception stack trace ---
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
       at System.Threading.Tasks.Task.Wait()
    at awaiteventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    If we got the Exception, we won’t got messages any more.
    From the Call Stack, we found it was cause by delete the Blob. So we wonder that, when we call
    RegisterEventProcessorAsync,
    the hub will delete the blob and renew one in Storage?
    If we delete the blob for the EventHub manually and then run our server again. It worked as usual.
    But we can do it like this way manually, so is there any way to handle the exception in code to make the EventProcessorHost worked?
    Thanks so much!

    If we use different blob container name for different EventProcessorHost, is it a workaround for the issue?
       var
    eventProcessorHost = new
    EventProcessorHost(
                    hostName,
                    hubName,
                    consumerGroupName,
                    serviceBusConnectionString,
                    storageConnectionString,
    leaseContainerName);

  • How to handle the exception in GP(Exception : Activity could not be read)

    Hi all
    we are getting the GP exceptions  as  1) "Activity could not be read"  2) "Action has been stopped"
    3) error while processing the item can not be displayed
    Please let me know how to handle these exceptions in GP .
    currently i got some documents in SDN on GP exceptions but those are related to manual exceptions for example if you enterd wrong data in the inputfield then we can handle those exceptions then it will allow to enter the new value but the exceptions which i mentioned above are new it seems
    can you please let me know how to handle or solve those 3 exceptions
    Thanks
    bindu

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • How to handle multiple exception types in JSF 2?

    I'm trying to handle multiple exception types in JSF2, including a default error page for any unexpected exception types. The problems I'm having are:
    1) ViewExpiredException is handled only when no generic exception handler is specified
    2) "Regular" exceptions like NullPointerException are never handled
    My managed bean:
    @Named
    @SessionScoped
    public class MyController implements Serializable {
    /* A method that does nothing */
    public void doNothing() {
        //do nothing
    /* Generate a null pointer exception on purpose */
    public void generateNpe() throws NullPointerException {
        Object x = null;
        x.toString();
    My test page to generate the exception:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Test page</title>
    </h:head>
    <h:body>
        <h:form>
            <h:commandButton id="button1" value="do nothing" action="#{myController.doNothing}" />
            <h:commandButton id="button2" value="generate NPE" action="#{myController.generateNpe}" />
        </h:form>
    </h:body>
    </html>
    My web.xml:
    <!-- Redirect all NPEs to this page; this never works! -->
    <error-page>
        <exception-type>java.lang.NullPointerException</exception-type>
        <location>/error/error003.jsf</location>
    </error-page>
    <!-- Redirect all VEEs to this page; this works fine if the next section is excluded -->
    <error-page>
        <exception-type>javax.faces.application.ViewExpiredException</exception-type>
        <location>/error/error002.jsf</location>
    </error-page>
    <!-- This grabs everything, even with the previous sections defined.  If I exclude this error-page section, VEE works fine but NPE still does not get redirected -->
    <error-page>
        <exception-type>java.lang.Exception</exception-type>
        <location>/error/error001.jsf</location>
    </error-page>My questions are as follows:
    1) How can we handle "regular" java exceptions like NPE?
    2) How can we define a catch-all for unexpected exception types, while still respecting specific exception handlers for VEE, etc?
    Thanks,
    Benjamin

    Is your data model right? If you are adding in one and deleting in another it sounds to me more like a process that an entity, in which case you may revisit your data model and simplify it, add in a session bean with the process method to co-ordinate between the two.
    However, if you want to map multiple different tables within a single entity bean it is possible and just part of the mapping. How you actualyl specify it depends on which implementation you are working with.
    Cheers,
    Peter.

  • How to handle the Exception in GP using executable callabel object.

    Hi all,
            I handled an exception in GP using Background callable Object. That is working fine.
    (Ex: Exception_No_User_Found). The Problem is I am not able to handle the exceptions for normal callable object. I have done the same thing as i did in background callable object except implementing IGPBackgroundCallableObject Class.  I have created an WebDynpro DC Project where in getDescription method i declared an Exception and in execute method of component controller I caught the exception if no user found.
    Then i created an callable object for this simple DC project. but that is not working i could not catch the exception. when i execute the process it is asking the User ID if i give the wrong userId it is not refreshing back to the user id input form.
    But if i test that simple callable object separately it is throwing an Exception when I give the wrong input..
    but the same thing is working fine using background callable object.
    I couldn't handle the exception for the simple callable object or executable callable object.
    Please If anyone bring me the solution that would be appreciated.
    Thanks in advance.
    Regards,
    Malar.

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • Is there a way to handle system exception ERROR_MESSAGE?

    Hi,
    I have a program executed in background, which produces a bunch of consecutive documents for a set of Bulk Shipments -> TD Loading and TD Delivery Confirmation. To create those documents I use function modules 'OIGI_LOADING_CREATE' and 'OIGI_DEL_CONF_CREATE'  - both from Industry-Solution Oil-and_Gas (IS-Oil).
    In some cases these FM-s produces error messages (E-type) which cancel execution of the program and broke my flow-logic.
    Below are few messages recorded in a job log for my task:
    18.08.2005 15:56:41 Job started                                                                         
    18.08.2005 15:56:41 Step 001 started (program /PTRL/TAS_POSTPONDED_SYNC, variant , user name IMUTAFCHIEV)
    18.08.2005 15:56:58 Shipment 180753 saved                                                               
    18.08.2005 15:57:06 The plant data of the material 177 is locked by the user BMINKOV                    
    18.08.2005 15:57:06 The plant data of the material 177 is locked by the user BMINKOV                    
    18.08.2005 15:57:06 The plant data of the material 177 is locked by the user BMINKOV                    
    18.08.2005 15:57:06 Job cancelled after system exception ERROR_MESSAGE                                  
    Both function modules are not designed to handle any exceptions, and in owr environment (4.6c) there is no documented system exception 'ERROR_MESSAGE' which to be handled in CATCH-ENDCATCH block.
    Is there a way to handle this exception and to track the list of error messages produced by some FM into an internal table, log, whatever, as it is done in the log of the background job. I need to find a way write these messages in my log-tables and to proceed further with my flow-logic.
    FYI: my program executes an RFC call to a remote system and retrieve a list of documents which need to be synchronized with R/3. I loose information, if the R/3 broke my flow-logic.
    Any help would be highly appresiated.
    Many thanks in advance.
    Ivaylo Mutafchiev

    Sven,
    I made few programs where we used business scenario:
    IS-Oil Shipment => IS-Oil Loading Confirmation => IS-Oil Delivery Confirmation.
    All of them are based on Function Module call:
    1. OIGI_LOADING_CREATE and
    2. OIGI_DEL_CONF_CREATE.
    To load shipment I call 1st FM in a way:
      CALL FUNCTION 'OIGI_LOADING_CREATE' DESTINATION 'NONE'
           EXPORTING
                I_SUBRC     = 9  "save and commit
                I_SHNUMBER  = shNumber
                I_VEHICLE   = vehicle
                I_LDPLT     = plant
                I_LDDATE    = loadDate
                I_LDTIME    = loadTime
                I_LDCDAT    = loadDate
                I_VEH_NR    = veh_nr
           TABLES
                T_OIGISVMQ  = quantity_items
                T_OIGISVMQ2 = hpm_append
                T_OIGISIQ   = doc_quan_items
           EXCEPTIONS
                COMMUNICATION_FAILURE = 1 MESSAGE p_error
                SYSTEM_FAILURE = 2 MESSAGE p_error.
    To confirm shipment (status 4) I call the same FM with:
      CALL FUNCTION 'OIGI_LOADING_CREATE' DESTINATION 'NONE'
           EXPORTING
                I_SUBRC    = 39  "confirm & commit 2nd step
                I_SHNUMBER = shNumber
                I_VEHICLE  = vehicle
                I_LDPLT    = werks
           EXCEPTIONS
                COMMUNICATION_FAILURE = 1 MESSAGE sh_error
                SYSTEM_FAILURE = 2 MESSAGE sh_error.
    And finaly to finish process (status = 6) I call 2nd FM in a way:
      CALL FUNCTION 'OIGI_DEL_CONF_CREATE' DESTINATION 'NONE'
           EXPORTING
                I_SUBRC         = 19  "save, confirm and commit
                I_SHNUMBER      = shNumber
                I_RAPID_CONFIRM = 'X'
                I_DDCDAT        = loadDate
                I_DLDATE        = loadDate
                I_DLTIME        = loadTime
           EXCEPTIONS
                COMMUNICATION_FAILURE = 1 MESSAGE p_error
                SYSTEM_FAILURE = 2 MESSAGE p_error.
    FYI: It tooks me some time to 'investigate' and find correct use of these function modules. And I worked VERY CLOSE with our SD consultant.
    For details (what the export parameters and tables consist of) and sample code, please contact me at:
    ivaylo dot mutafchiev at vbs dot bg
    I would be glad to share my knowlege.
    Regards,
    Ivaylo

  • How to handle RFC exception in XI

    We have developed a proxy-> RFC scenario. But its not able to handle the RFC exception. In case of an exception the response payload is as below
    <rfc:Y_BAPI_GET_POSTING_PERIOD.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>Screen output without connection to user.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>044</Number></Message><Attributes><V1>DYNPRO_SEND_IN_BACKGROUND</V1></Attributes></rfc:Y_BAPI_GET_POSTING_PERIOD.Exception>
    Is it correct way to get exception from RFC in such a way or the error/exception text should come in RETURN part of the RFC response? 
    What is the best approach or solution to handle the sync. RFC call exception in XI?

    Hi,
    You can create a Fault Message Type and map the RFC exception text to this.
    In the interface mapping in addition to Request and response
    mapping you will get an additional fault message mapping.
    This will handle your exception properly.
    Regards,
    V.Ramya

  • Handling ABAP Exceptions in a Block

    Hi,
    If a background task calls an ABAP Class Method and that method throws a defined exception of type CX_BO_ERROR, I would expect to see a possible outcome for that exception that would allow me to handle the exception for the specific task. If I activate that outcome then an exception handling path will be displayed on the graphical representation which is taken if the exception is then raised by the method. If the outcome is disabled then the workitem goes to error.
    If I want to catch these exceptions (for multiple tasks) in an enclosing block in order to handle them in a single, standard way, how do I achieve that? It does not seem possible to simply define the exception type in the enclosing block and then activate it in order to then be able to automatically catch any exceptions of a particular type that have their outcomes disabled in their individual tasks. It would appear that I have to activate the outcomes for each task and then raise it during with a Process Control item on the exception handling path of the task. This seems to defeat the object of having exception handling at the Block level. Is my understanding correct or am I doing something wrong?
    Also, is it possible to capture the class exception object from the method call and store it in the Task Container (in order to get text & longtext details)?

    Thankyou for both of your responses.
    I understand that an individual ABAP Object or BOR method (call during an Activity) can raise an exception which can be handled as a separate outcome of that activity. However, if there are multiple Activity steps in the workfow that can all throw similar exceptions and I want to react to all of those exceptions in a uniform way, it seems excessive to have to handle each exception individually for each Activity in order to do the same thing (e.g. I may just want to send a standard email to someone or trigger another workflow event).
    I may have misunderstood things but I thought that the purpose of the Block step was to be used as a kind of TRY..CATCH mechanism that will allow exceptions to thrown to the Block by enclosed Activities without the need for enabling outcomes at the Activity level. I thought it would be possible for the exception type to be defined in the Block properties so that all exceptions of that type could be handled at a higher level by a single Block outcome (regardless of which enclosed Activity threw it). If this is the case then I do not see the point in having to define individual outcomes for each activity within the Block.
    That said, I cannot seem to get it to work without enabling the outcome for each activity and using a Process Control step to raise the exception to the Block (which seems to defeat the object because I have, in fact, just handled the exception!). The reason for my original posting is to verify whether or not what I am trying to do is possible and to find out what I doing wrong with regards to Block configuration.
    Kind Regards
    Simon.

  • How to handle system exception in Sync communication without BPM? Help!

    Hi Experts
       I have a Synchronous scenario in XI: webservice <------>RFC SAP R/3.
      Webservice is making a sync call to RFC FM in SAP R/3 system.
       I want to handle system exception when SAP R/3 is down and send an email alert.    
       Can I achieve this in graphical mapping without BPM? How? Kindly provide necessary steps/screenshots for the same.
       Are there any other alternatives for handling system exception apart from mapping and BPM?  
    Thanks
    Gopal

    Hi GopalKirshna,
          Yes,You can handle the Exception if at all you are using the RFC.You can achieve this without using BPM.
       Using Fault message you can catch the System Exception and even the primary role for Fault Message is to catch the RFC Exceptions.
       Please refer the Fault messages Notes to achieve this you will understand better.
    Hope I am clear.
    Please let me if you have any more queries regarding this..!
    Thanks and Rewards,
    Chandu.

  • How to handle multiple exceptions by the same code?

    Hi, all:
    In my situation I want AException and BException handled by the same code, while CException and DException handled by another code. How can I write my try-catch code in a simple way? Of course I can do the following:
    public void TheMainFunction() {
        try {
        } catch (AException e) {
            Handle_AB();
        } catch (BException e) {
            Handle_AB();
        } catch (CException e) {
            Handle_CD();
        } catch (DException e) {
            Handle_CD();
    private void Handle_AB() {
    private void Handle_CD() {
    }But is there a simpler way?
    Thanks in advance.

    If you have one or two places in your code that need multiple exceptions, just do it with multiple catch statements. Unless you are trying to write the most compact Programming 101 homework program, inventing tricks to remove two lines of code is not good use of your time.
    If you have multiple catches all over your code it could be a code smell. You may have too much stuff happening inside one try statement. It becomes hard to know what method call throws one of those exceptions, and you end up handling an exception from some else piece of code than what you intended. E.g. you mention NumberFormatException -- only process one user input inside that try/catch so it is easy to see what error message is given if that particular input is gunk. The next step of processing goes inside its own try/catch.
    In my case, the ArrayIndexOutOfBoundsException and
    NumberFormatException should be handled by the same way.Why?
    I don't think I have ever seen an ArrayIndexOutOfBoundsException that didn't indicate a bug in the code. Instead of an AIOOBE perhaps there should be an if statement somewhere that prevents it, or the algorithm logic should prevent it automatically.

  • How to handle an Exception in GP through webdunpro

    Hi,
    How to handle exception in WebDynpro GP callable objects.
    I created exception parameter in getdescription() method like
    IGPExceptionInfo processExc1 = technicalDescription.addProcessException("USER_NOT_FOUND");
      processExc1.setNameKey("USER_KEY");
      processExc1.setDescriptionKey("USER_DESCRIPTION_KEY");
      processExc1.setFatal(true);
    In my Process I have 2 levels, In block level i am able to see the above created exception using exception tab.
    I have created an action with same callable object mapped, this action is mapped to exception handler & selected an repeat option from dropdown.
    If any exception occurs in execute method(like UMException) how to call an  handler from coding. I tried this code to call a handler
    String localizedMessage =textAccessor.getText("USER_NOT_FOUND");
      wdThis.wdFireEventTechnicalException(new GPTechnicalCallableObjectException(logger,localizedMessage,e));
    this is not working...
    Can any one please bring me an Solution.
    Thanks in advance.
    Regards
    ThenMalar

    Hi Shikhil
    Thanks for your reply
    Please have a look below for exceptions which i am getting in GP and let me know how to handle these exceptions.
    1) "Activity could not be read"
    2) "Action has been stopped"
    3) error while processing the item can not be displayed
    if you give any idea/clue how to handle these exceptions then it would be great help to me
    Thanks
    Sunil

  • Re: Handling an exception in a superclass...

    Akos,
    When subclasses override ExecSQL(), do they call
    super.ExecSQL() before/after doing additional processing?
    If so, it makes sense to handle some generic exceptions
    in the superclass. If not, then your exception handlers
    will never be executed.
    For database reconnection logic, you can write a
    SQLManager.GetDBSession() method
    which will check the connection and return a valid
    DBSession object. Even the reconnecting logic can be
    coded in this method and all SQLs simply use GetDBSession()
    in their ON SESSION clause. Apparantly, this seems to
    be the standard way of handling Database connections.
    I have seen it being used in many frameworks, including
    the one that I wrote.
    Hope this helps.
    Ajith Kallambella M.
    From: Gabriel Akos <[email protected]>
    Reply-To: Gabriel Akos <[email protected]>
    To: [email protected], [email protected]
    Subject: Handling an exception in a superclass...
    Date: Mon, 17 May 1999 17:26:06 +0200
    Hi!
    I have the following problem:
    1. I have a class, name SQLManager
    2. I have a method, ExecSQL
    3. In method ExecSQL I do some SQL, occasionally it's loosing the
    connection to the DB, gets an
    exception, reasoncode 201 (If my memory is correct)
    4. I have some subclasses of SQLManager, which override ExecSQL, and do
    some SQL stuff in it.
    Question: Is it possible to handle the specific exception in the
    superclass, and do the reconnect?
    And probably let the subclass execute the ExecSQL again?
    Or has anybody better ideas of organizing these things?
    TIA, best regards,
    Akos Gabriel
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
    Get Free Email and Do More On The Web. Visit http://www.msn.com
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    Hi,
    Yes you can : it is an architectural problem.
    You must divide the work into 2 methods : one on the generic level and one
    on the concrete level.
    The generic level will manage the cinematic : it could be ExecSql. In the
    ExecSql method you can call a DoExecSql method which can be overridden by
    the developers and contain the sql statement. Then, the ExecSql method can
    manage the reconnect using DBSession.Reconnect before the call of the
    DoExecSql if the DBSession.IsConnected = FALSE. You can also manage a While
    with a limited number of retries if you catch the exception from the
    DoExecSql method.
    Just be aware that when you will reconnect to the database, you will loose
    the statements you could have cached with your DBSession.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    Gabriel Akos a &eacute;crit:
    Hi!
    I have the following problem:
    1. I have a class, name SQLManager
    2. I have a method, ExecSQL
    3. In method ExecSQL I do some SQL, occasionally it's loosing the
    connection to the DB, gets an
    exception, reasoncode 201 (If my memory is correct)
    4. I have some subclasses of SQLManager, which override ExecSQL, and do
    some SQL stuff in it.
    Question: Is it possible to handle the specific exception in the
    superclass, and do the reconnect?
    And probably let the subclass execute the ExecSQL again?
    Or has anybody better ideas of organizing these things?
    TIA, best regards,
    Akos Gabriel
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

Maybe you are looking for

  • Problem with 'action' attriubte when using 'rendered'

    I have something really strange; I have a JSF page used to insert a record and when inserting is successful, I set a REQUEST scope parameter called 'saved' with a value of 'true' as following: FacesContext.getCurrentInstance().getExternalContext().ge

  • MSI KT4VL and Slackware 8.1

    Before I get started on my question, I would like to say that the search engine for this Forum sucks.  There! Ok,  what driver/module are you guys loading for the onboard sound?  Everything else is working beautifully and I've already noticed the spe

  • Com.ms.xml.dso.XMLDSO.class

    Dear All, I tried to load an XML doc using: <applet code="com.ms.xml.dso.XMLDSO.class" id="myXML" height=0 width=0 mayscript="true"><param name="URL" value="emp.xml"> </applet> But the status shows com.ms.xml.dso.XMLDSO.class not inited and then Load

  • Client installation on Windows x64

    Hi, We have a server running Windows 2003 Server x32, with Oracle version 10.2.0.1.0. We have a terminal server running the 10.1.0.2.0 client, which connects to it perfectly. We have built a new Windows Terminal server, running Windows x64. We are ha

  • SM-58/audio input problem

    Hi. I don't know if this is the right forum, but it's worth a shot. I am at my wit's end. I have an SM-58 vocal mic, which I used to use through my macbook with a Blue Icicle interface. I then purchased a Line 6 UX1 guitar interface, with PodFarm sof