diff options
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index e0e4df2aba7..35c8b12aa42 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -1525,7 +1525,7 @@ Slice::JavaVisitor::writeDispatchAndMarshalling(Output& out, const ClassDefPtr& // Call on the servant. // string classNameAMD = "AMD_" + p->name(); - out << nl << classNameAMD << '_' << opName << " __cb = new _" << classNameAMD << '_' << opName + out << nl << '_' << classNameAMD << '_' << opName << " __cb = new _" << classNameAMD << '_' << opName << "(__inS);"; out << nl << "try"; out << sb; @@ -1550,6 +1550,10 @@ Slice::JavaVisitor::writeDispatchAndMarshalling(Output& out, const ClassDefPtr& out << sb; out << nl << "__cb.ice_exception(ex);"; out << eb; + out << nl << "catch(java.lang.Error ex)"; + out << sb; + out << nl << "__cb.__error(ex);"; + out << eb; out << nl << "return Ice.DispatchStatus.DispatchAsync;"; out << eb; |