diff options
Diffstat (limited to 'java/src/Ice/UserException.java')
-rw-r--r-- | java/src/Ice/UserException.java | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/java/src/Ice/UserException.java b/java/src/Ice/UserException.java index 6beea1ed671..b7d46c40903 100644 --- a/java/src/Ice/UserException.java +++ b/java/src/Ice/UserException.java @@ -69,27 +69,53 @@ public abstract class UserException extends Exception implements Cloneable return sw.toString(); } - public abstract void - __write(IceInternal.BasicStream __os); - - public abstract void - __writeImpl(IceInternal.BasicStream __os); - - public abstract void - __read(IceInternal.BasicStream __is); + public void + __write(IceInternal.BasicStream os) + { + os.startWriteException(null); + __writeImpl(os); + os.endWriteException(); + } - public abstract void - __readImpl(IceInternal.BasicStream __is); + public void + __read(IceInternal.BasicStream is) + { + is.startReadException(); + __readImpl(is); + is.endReadException(false); + } public void - __write(Ice.OutputStream __outS) + __write(Ice.OutputStream os) { - assert(false); + os.startException(null); + __writeImpl(os); + os.endException(); } public void - __read(Ice.InputStream __inS) + __read(Ice.InputStream is) + { + is.startException(); + __readImpl(is); + is.endException(false); + } + + protected abstract void + __writeImpl(IceInternal.BasicStream os); + + protected abstract void + __readImpl(IceInternal.BasicStream is); + + protected void + __writeImpl(OutputStream os) + { + throw new MarshalException("exception was not generated with stream support"); + } + + protected void + __readImpl(InputStream is) { - assert(false); + throw new MarshalException("exception was not generated with stream support"); } } |