Handling an exception in a superclass...

Hi,
Why not have a method at the superclass level, called ExecSQL(), that
internally does the following:
begin
self.OnExecSQL();
exception
when e:Whatever do
end;
In that way all your code in the hierarchy that is in OnExecSQL() is within
the exception block.
Tim Sawyer
PanCredit
Leeds, UK.
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/>
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/>

Similar Messages

  • 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/>

  • 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

  • Creating Fault Handling and Exception in Oracle BPEL

    I am following BPELtutorial-Orderbooking.pdf and have successfully reached chapter 6 i.e. Creating Fault Handling and Exception in Oracle BPEL. Everything went fine except this one... i.e. after implementing the Fault Handling and Exception in Oracle BPEL when I execute my process and enter CustId that begins with 0.... the invokeCR generates error message as follows as expected:
    <NegativeCredit xmlns="http://services.otn.com">
    <part name="payload">
    <error xmlns="http://services.otn.com">Bankruptcy Report</error>
    </part>
    </NegativeCredit>
    However, the execution proceeds ahead instead of terminating. The tutorial states that the BPEL process should terminate as the SSN is invalid, can anyone please tell me whats going wrong.. ?

    Well not exactly.... but when click on the 'Audit' sheet under BPEL Console for this instance, I can see the following:
    invokeCR (faulted)
    [2006/03/20 10:35:07] "{http://services.otn.com}NegativeCredit" has been thrown. less
    <NegativeCredit xmlns="http://services.otn.com">
    <part name="payload">
    <error xmlns="http://services.otn.com">Bankruptcy Report</error>
    </part>
    </NegativeCredit>
    The above is exactly what the tutorial states will be the output, so I presumed that the exception must have fired !

  • Handle timeout exception in rfc call

    Dear SAP Experts,
    I have been searching for a while and could not find a satisfactory answer to my problem.
    I use SAP - CRM and call other SAP and non-SAP systems via RFC.
    I need to handle all exceptions, otherwise WEB UI displays a full page exception details, which is unacceptable on a production system.
    I have the following piece of code:
    CALL FUNCTION FUNCTION_NAME DESTINATION DEST
        EXPORTING
          S_IMPORT              = INPUT_DATA
        IMPORTING
          S_EXPORT              = OUTPUT_DATA
        EXCEPTIONS
          SYSTEM_FAILURE        = 1  MESSAGE err_msg " catch system failure
          COMMUNICATION_FAILURE = 2  MESSAGE err_msg " catch communication errors
          OTHERS                = 99.                " catch everything else
    It handles most of exceptions, however, it cannot process timeouts. Is there a way to handle timeout in ABAP RFC call? Is timeout exception uncatchable? If so is there a way around?
    Can you please suggest some solution as I am running out of ideas.
    Regards,
    Dominik

    I have found a solution. To approach this I use asynchronous function call.
    TRY.
        CALL FUNCTION ZZ_TEST_TIMEOUT' DESTINATION lv_dest STARTING NEW TASK 'TIMEOUT_TASK'
        CALLING me->callback ON END OF TASK
            EXCEPTIONS
              SYSTEM_FAILURE        = 1  MESSAGE err_msg " catch system failure
              COMMUNICATION_FAILURE = 2  MESSAGE err_msg " catch communication errors
              OTHERS                = 99.                " catch everything else
            WAIT UNTIL READY EQ 'X' UP TO 55 SECONDS.
            IF READY NE 'X'.
              RAISE EXCEPTION TYPE CX_TIMEOUT.
            ELSE.
              WRITE / 'success'.
            ENDIF.
      CATCH CX_ROOT INTO OREF.
       WRITE / 'TIMEOUT EXCEPTION'.
    ENDTRY.
    callback sets variable READY to abap_true when data is received.
    The trick is to use  UP TO 55 SECONDS. after wait, which is shorter than the server timeout. This terminates function call and gives opportunity to code your own timeout behavior.

  • How to handle JCO Exceptions at JCO (RFC) function call

    Hello Forum,
    I am implementing an JCO Server scenario.
    I use dynamic repositories like Example7.java from the JCO documentation.
    Example7 throws an JCO.AbapException if anything went wrong, e.g. the function is not implemented.
    How to react on this AbapException?
    The examples in SAP Help documentation only catch
    SYSTEM_FAILURE and COMMUNICATION_FAILURE.
    All other RFC modules I have seen which declare the function modules to be used by dynamic JCO repositories (like Example7.java) do not define any other Exception parameters.
    But these two are only thrown and caught when something with communication went completely wrong, e.g. RFC not found.
    But when RFC can be reached and the JCO Server is executing the Java method, an AbapException could be thrown on error. How to react on this?
    In my implementation based on the examples I always get a ABAP dump. The dump says:
    Exception named  without message text. Why that name?
    How to handle this type of exception in order to avoid the dump?
    Can anyone post an example please?
    Thanks,
    Carsten
    Edited by: Carsten Schön on Apr 15, 2008 4:22 PM
    Edited by: Carsten Schön on Apr 15, 2008 4:24 PM

    Hi Micky,
    thanks for your quick response.
    If so, to throw JCO.AbapException on JCO Server side is not correct?
    What I do is throwing the JCO.AbapException (like in the JCO Example 7).
    At the RFC call in APAB I handle both exceptions SYSTEM_FAILURE and COMMUNICATION_FAILURE like
    CALL FUNCTION 'MY_JCO_FUNCTION_MODULE'
        DESTINATION JCO_DEST
        <...>
        EXCEPTIONS
          SYSTEM_FAILURE        = 1  MESSAGE RFC_MESS
          COMMUNICATION_FAILURE = 2  MESSAGE RFC_MESS.
    This works as far something with RFC is wrong, e.g. Server can not find the function or Server not reachable.
    But the AbapException thrown by the JCO Server (Java) is not handled that way. Why?
    Sorry if this is the wrong forum but I tried posting in Netweaver integration and got no answer for 1 week and because it's ABAP related I thought the topic suites here.
    Carsten
    Edited by: Carsten Schön on Apr 15, 2008 5:10 PM

Maybe you are looking for

  • Error while creating model classes, operation aborted in NWDS

    Hi All, When i select Adaptive rfc 2 model  and then search for the RFC,  when i select RFC and click on next i get an error while importing : Error while creating model classes, operation aborted. It is working fine in visual composer and i have act

  • Ipod touch won't start, just shows screen saying to connect to itunes.

    Ipod touch won't start or charge, or do anything other than when I plug it in, the screen shows a picture of the usb cord connecting to itunes. When I tried to connect to itunes using my computer, nothing happened. Any suggestions?

  • How to configure the JMS application in WSAD 5.0

    hi i need to configure an JMS application in WSAD 5, but while configuring the application i am checked with intial context exception. but i have configured the jndi in the server. but i cant able to run the application. can anybody help me like how

  • Crazy Guild Wars/WINE/Graphics Problem

    Recently I've gotten back into Guild Wars (and subsequently dropped off the forums like a stone), but I have a very bizarre issue with it. Every so often, and I have no idea why because error reports haven't turned up anything, I get a graphics failu

  • HELP DOWNLOADING PHOTOSHOP CS6 EXTENDED MAC

    I have a macbook pro and have tried numerous times to download photoshop cs6 extended for mac. I open the file and install it with adobe installer, but when it is "finished" installing, there is a yellow triangle with an exclamation point saying some