From c7c671b94266f4e043466391548054fb144a19db Mon Sep 17 00:00:00 2001 From: Ilya Perminov Date: Fri, 24 Sep 2004 12:29:48 +0000 Subject: 2004-09-24 Ilya Perminov * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): Added code to handle Errors. * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): Added code to handle Errors. From-SVN: r88030 --- libjava/gnu/java/rmi/server/UnicastServerRef.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libjava/gnu/java/rmi/server/UnicastServerRef.java') diff --git a/libjava/gnu/java/rmi/server/UnicastServerRef.java b/libjava/gnu/java/rmi/server/UnicastServerRef.java index 3e9529c..1c5823a 100644 --- a/libjava/gnu/java/rmi/server/UnicastServerRef.java +++ b/libjava/gnu/java/rmi/server/UnicastServerRef.java @@ -284,7 +284,16 @@ public Object incomingMessageCall(UnicastConnection conn, int method, long hash) try{ ret = meth.invoke(myself, args); }catch(InvocationTargetException e){ - throw (Exception)(e.getTargetException()); + Throwable cause = e.getTargetException(); + if (cause instanceof Exception) { + throw (Exception)cause; + } + else if (cause instanceof Error) { + throw (Error)cause; + } + else { + throw new Error("The remote method threw a java.lang.Throwable that is neither java.lang.Exception nor java.lang.Error.", e); + } } return ret; } -- cgit v1.1