summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp23
1 files changed, 3 insertions, 20 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 64870af0e4f..02d2686e84b 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -4417,28 +4417,11 @@ Slice::Gen::DelegateDVisitor::visitClassDefStart(const ClassDefPtr& p)
out << eb;
}
- //
- // Next two catch handlers keep local exceptions non-transparent.
- //
- out << nl << "catch(Ice.UserException __ex)";
- out << sb;
- out << nl << "IceInternal.LocalExceptionWrapper.throwUnknownWrapper(__ex);";
- out << eb;
- out << nl << "catch(Ice.LocalException __ex)";
+ out << nl << "catch(java.lang.Throwable __ex)";
out << sb;
- out << nl << "IceInternal.LocalExceptionWrapper.throwUnknownWrapper(__ex);";
+ out << nl << "IceInternal.LocalExceptionWrapper.throwWrapper(__ex);";
out << eb;
- /*
- //
- // Commented-out code makes local exceptions fully location transparent,
- // but the Freeze evictor relies on them being non-transparent.
- //
- out << nl << "catch(Ice.LocalException __ex)";
- out << sb;
- out << nl << "IceInternal.LocalExceptionWrapper.throwUnknownWrapper(__ex);";
- out << eb;
- */
out << nl << "finally";
out << sb;
out << nl << "if(__direct != null)";
@@ -4457,7 +4440,7 @@ Slice::Gen::DelegateDVisitor::visitClassDefStart(const ClassDefPtr& p)
}
out << nl << "catch(java.lang.Throwable __ex)";
out << sb;
- out << nl << "IceInternal.LocalExceptionWrapper.throwUnknownWrapper(__ex);";
+ out << nl << "IceInternal.LocalExceptionWrapper.throwWrapper(__ex);";
out << eb;
out << eb;
out << eb;