diff options
author | Mark Spruiell <mes@zeroc.com> | 2003-01-25 17:06:53 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2003-01-25 17:06:53 +0000 |
commit | 4aa5ae4bd02c6319adc1e09d9988c3156efd5606 (patch) | |
tree | f4e8c09fbe577c6219b01e966f26092fab3cbe9d /java/src/Ice/_ObjectDelM.java | |
parent | raise NonRepeatable when exception occurs during reply unmarshalling (diff) | |
download | ice-4aa5ae4bd02c6319adc1e09d9988c3156efd5606.tar.bz2 ice-4aa5ae4bd02c6319adc1e09d9988c3156efd5606.tar.xz ice-4aa5ae4bd02c6319adc1e09d9988c3156efd5606.zip |
trap LocalException during reply unmarshalling
Diffstat (limited to 'java/src/Ice/_ObjectDelM.java')
-rw-r--r-- | java/src/Ice/_ObjectDelM.java | 49 |
1 files changed, 42 insertions, 7 deletions
diff --git a/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java index 11aa5c80dbd..9dd1f9840c6 100644 --- a/java/src/Ice/_ObjectDelM.java +++ b/java/src/Ice/_ObjectDelM.java @@ -30,7 +30,14 @@ public class _ObjectDelM implements _ObjectDel { throw new UnknownUserException(); } - return __is.readBool(); + try + { + return __is.readBool(); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -68,7 +75,14 @@ public class _ObjectDelM implements _ObjectDel { throw new UnknownUserException(); } - return __is.readStringSeq(); + try + { + return __is.readStringSeq(); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -88,7 +102,14 @@ public class _ObjectDelM implements _ObjectDel { throw new UnknownUserException(); } - return __is.readString(); + try + { + return __is.readString(); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -108,7 +129,14 @@ public class _ObjectDelM implements _ObjectDel { throw new UnknownUserException(); } - return __is.readStringSeq(); + try + { + return __is.readStringSeq(); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } finally { @@ -128,9 +156,16 @@ public class _ObjectDelM implements _ObjectDel boolean ok = __out.invoke(); if(__reference.mode == IceInternal.Reference.ModeTwoway) { - IceInternal.BasicStream __is = __out.is(); - int sz = __is.getReadEncapsSize(); - outParams.value = __is.readBlob(sz); + try + { + IceInternal.BasicStream __is = __out.is(); + int sz = __is.getReadEncapsSize(); + outParams.value = __is.readBlob(sz); + } + catch(LocalException __ex) + { + throw new IceInternal.NonRepeatable(__ex); + } } return ok; } |