equal
deleted
inserted
replaced
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 } |