diff options
Diffstat (limited to 'cpp/src/slice2cpp/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index a35a4890328..8a641cf80f7 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -1840,6 +1840,8 @@ Slice::Gen::DelegateDVisitor::visitOperation(const OperationPtr& p) C << nl << "__opEx.operation = __current.operation;"; C << nl << "throw __opEx;"; C << eb; + C << nl << "try"; + C << sb; C << nl; if(ret) { @@ -1851,6 +1853,11 @@ Slice::Gen::DelegateDVisitor::visitOperation(const OperationPtr& p) C << nl << "return;"; } C << eb; + C << nl << "catch(const ::Ice::LocalException& __ex)"; + C << sb; + C << nl << "throw ::IceInternal::NonRepeatable(__ex);"; + C << eb; + C << eb; C << eb; } |