+ Start a Discussion
Force.comForce.com 

How to execute remaining records after entering into Catch Block ?

While parsing an XML file with 10 records, it fails at 6th record. It then enters in catch block  and prints an error statement.

But i want to process the remaining 3 records also.

 

Is there any way to process the remaining records also, plz help.

 

 

bob_buzzardbob_buzzard

Can you tell us a bit more about how you are parsing the XML?  It rather depends if this is a recoverable error or not.

Force.comForce.com

Thanks for your reply but I am able to parse the xml file, thats not the issue.

 

Here is the sample code:

 

try
        {
            if(AccountList.size()>0)
                upsert AccountList;
                
        }
        catch(exception e)
        {
            ret = 'There seems to have been an exception while upserting records;
            ret += e;
            return ret;
        }

 

 

 AccountList is an array and it is auto-populated, but half way through, it fails at some point and catch block gets executed. Now i want to process rest records also present in AccountList.

 

Plz help.

NaishadhNaishadh

Use Database upsert opt_allOrNone option

 

Database Method Syntax

UpsertResult Database.Upsert(sObject recordToUpsert, Schema.SObjectField External_ID_Field, Boolean

opt_allOrNone

)

UpsertResult[] Database.Upsert(sObject[] recordsToUpsert, Schema.SObjectField External_ID_Field, Boolean

opt_allOrNone

)