diff options
-rw-r--r-- | src/jvm/clojure/lang/Reflector.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Reflector.java b/src/jvm/clojure/lang/Reflector.java index f530b786..b62ef7f0 100644 --- a/src/jvm/clojure/lang/Reflector.java +++ b/src/jvm/clojure/lang/Reflector.java @@ -31,6 +31,8 @@ public static Object invokeInstanceMethod(Object target, String methodName, Obje { if(e.getCause() instanceof Exception) throw (Exception) e.getCause(); + else if(e.getCause() instanceof Error) + throw (Error) e.getCause(); throw e; } } @@ -89,6 +91,8 @@ static Object invokeMatchingMethod(String methodName, List methods, Object targe { if(e.getCause() instanceof Exception) throw (Exception) e.getCause(); + else if(e.getCause() instanceof Error) + throw (Error) e.getCause(); throw e; } @@ -162,6 +166,8 @@ public static Object invokeConstructor(Class c, Object[] args) throws Exception{ { if(e.getCause() instanceof Exception) throw (Exception) e.getCause(); + else if(e.getCause() instanceof Error) + throw (Error) e.getCause(); throw e; } } @@ -181,6 +187,8 @@ public static Object invokeStaticMethod(String className, String methodName, Obj { if(e.getCause() instanceof Exception) throw (Exception) e.getCause(); + else if(e.getCause() instanceof Error) + throw (Error) e.getCause(); throw e; } } |