javacommons/utils/functionserver/src/methodcall.cpp
changeset 23 98ccebc37403
parent 21 2a9601315dfc
equal deleted inserted replaced
21:2a9601315dfc 23:98ccebc37403
    32  *
    32  *
    33  */
    33  */
    34 OS_EXPORT void MethodCaller::ExecuteLeavingFunctorL(const Functor& functor, java::util::FunctionServer* functionServer, int* /*res*/)
    34 OS_EXPORT void MethodCaller::ExecuteLeavingFunctorL(const Functor& functor, java::util::FunctionServer* functionServer, int* /*res*/)
    35 {
    35 {
    36     JELOG2(EUtils);
    36     JELOG2(EUtils);
    37     int error = functionServer->executeInServerThread(functor);
    37     int error = KErrNone;
       
    38     try
       
    39     {
       
    40         error = functionServer->executeInServerThread(functor);
       
    41     }
       
    42     catch (std::exception&)
       
    43     {
       
    44         error = KErrServerTerminated;
       
    45     }
       
    46 
    38     if (error) // Do not use LeaveIfError(), we want to handle positive error codes as well
    47     if (error) // Do not use LeaveIfError(), we want to handle positive error codes as well
    39     {
    48     {
    40         User::Leave(error);
    49         User::Leave(error);
    41     }
    50     }
    42 }
    51 }