Hi,
I'm exploring some of existing classes that use / extend Runbasebatch, and I found some of it declare this macro : #OCCRetryCount
If I take look inside of this macro is like this :
#define.RetryNum (5) //number of retries in catch(Exception::UpdateConflict) loop
#localmacro.StandardRetryCatchBlock
catch (Exception::UpdateConflict)
{
if (appl.ttsLevel() == 0)
{
if (xSession::currentRetryCount() >= #RetryNum)
{
throw Exception::UpdateConflictNotRecovered;
}
else
{
retry;
}
}
else
{
throw Exception::UpdateConflict;
}
}
catch(Exception::DuplicateKeyException)
{
if (appl.ttsLevel() == 0)
{
if (xSession::currentRetryCount() >= #RetryNum)
{
throw Exception::DuplicateKeyExceptionNotRecovered;
}
else
{
retry;
}
}
else
{
throw Exception::DuplicateKeyException;
}
}
#endmacro
Does it mean if I'm using this macro and in my class I'm create a Try{}..Catch{}.. I'm actually no need to add Catch{} since it is already stated in the macro ?
and if I still add my Catch{} with the same, for example I'm adding catch(Exception::Updateconflict), which one will be executed/applied, is it both ?
Thanks,