diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/Context.java b/mozilla/js/rhino/src/org/mozilla/javascript/Context.java index 956b6b30211..ad5ab8f69a7 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/Context.java +++ b/mozilla/js/rhino/src/org/mozilla/javascript/Context.java @@ -1446,30 +1446,27 @@ public class Context } /** - * Convinient method to rethrow the exception as unchecked exception. - * The exception will be wrapped as {@link WrappedException} unless - * it is an instance of {@link EvaluatorExceptions}, - * {@link EcmaError} or java.lang.Error which are rethrown as-is. - *
- * Instances of java.lang.reflect.InvocationTargetExceptions are treated - * specially. They are unwrapped and throwAsUncheckedException is applied - * recursively to its target. + * Rethrow the exception wrapping it as the script runtime exception. + * Unless the exception is instance of {@link EcmaError} or + * {@link EvaluatorException} it will be wrapped as + * {@link WrappedException}, a subclass of {@link EvaluatorException}. + * The resulting exception object always contains + * source name and line number of script that triggered exception. *
* This method always throws an exception, its return value is provided * only for convenience to allow a usage like: *
- * throw Context.throwAsUncheckedException(ex);
+ * throw Context.throwAsScriptRuntimeEx(ex);
*
* to indicate that code after the method is unreachable.
+ * @throws EvaluatorException
+ * @throws EcmaError
*/
- public static RuntimeException throwAsUncheckedException(Throwable e)
+ public static RuntimeException throwAsScriptRuntimeEx(Throwable e)
{
while ((e instanceof InvocationTargetException)) {
e = ((InvocationTargetException) e).getTargetException();
}
- if (e instanceof Error) {
- throw (Error)e;
- }
if (e instanceof EvaluatorException) {
throw (EvaluatorException)e;
}
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/Delegator.java b/mozilla/js/rhino/src/org/mozilla/javascript/Delegator.java
index 14016fda445..583ce04d4db 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/Delegator.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/Delegator.java
@@ -87,7 +87,7 @@ public class Delegator implements Function {
try {
return (Delegator)this.getClass().newInstance();
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/FunctionObject.java b/mozilla/js/rhino/src/org/mozilla/javascript/FunctionObject.java
index 55c624107a4..d0ee2841ad6 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/FunctionObject.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/FunctionObject.java
@@ -471,7 +471,7 @@ public class FunctionObject extends BaseFunction
try {
result = (Scriptable) member.getDeclaringClass().newInstance();
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
result.setPrototype(getClassPrototype());
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/JavaAdapter.java b/mozilla/js/rhino/src/org/mozilla/javascript/JavaAdapter.java
index 192f2ec2d78..549e9328974 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/JavaAdapter.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/JavaAdapter.java
@@ -255,7 +255,7 @@ public final class JavaAdapter
newInstance(ctorArgs);
return getAdapterSelf(adapterClass, adapter);
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
@@ -509,7 +509,7 @@ public final class JavaAdapter
try {
master = (IFGlue)glueClass.newInstance();
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
int[] argsToConvert = getArgsToConvert(argTypes);
master.ifglue_initMaster(argsToConvert);
@@ -633,7 +633,7 @@ public final class JavaAdapter
try {
return f.call(cx, scope, thisObj, args);
} catch (JavaScriptException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/JavaMembers.java b/mozilla/js/rhino/src/org/mozilla/javascript/JavaMembers.java
index 8751a626784..48b6b01fc53 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/JavaMembers.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/JavaMembers.java
@@ -102,7 +102,7 @@ class JavaMembers
type = field.getType();
}
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
// Need to wrap the object before we return it.
scope = ScriptableObject.getTopLevelScope(scope);
@@ -137,7 +137,7 @@ class JavaMembers
try {
bp.setter.invoke(javaObject, args);
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
else {
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/LazilyLoadedCtor.java b/mozilla/js/rhino/src/org/mozilla/javascript/LazilyLoadedCtor.java
index f7faa80c61b..cf2d6045d41 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/LazilyLoadedCtor.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/LazilyLoadedCtor.java
@@ -63,7 +63,7 @@ public final class LazilyLoadedCtor {
ScriptableObject.DONTENUM);
}
catch (PropertyException e) {
- throw Context.throwAsUncheckedException(e);
+ throw Context.throwAsScriptRuntimeEx(e);
}
}
@@ -88,7 +88,7 @@ public final class LazilyLoadedCtor {
} catch (SecurityException ex) {
removeOnError = true;
} catch (Exception e) {
- throw Context.throwAsUncheckedException(e);
+ throw Context.throwAsScriptRuntimeEx(e);
}
}
if (removeOnError) {
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/MemberBox.java b/mozilla/js/rhino/src/org/mozilla/javascript/MemberBox.java
index 0c97bb698ec..2ebeec0260e 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/MemberBox.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/MemberBox.java
@@ -163,7 +163,7 @@ final class MemberBox implements Serializable
try {
return invoker.invoke(target, args);
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
} catch (LinkageError ex) {
invoker = null;
}
@@ -179,16 +179,16 @@ final class MemberBox implements Serializable
method = accessible;
} else {
if (!tryToMakeAccessible(method)) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
// Retry after recovery
return method.invoke(target, args);
}
} catch (IllegalAccessException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
} catch (InvocationTargetException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
@@ -200,16 +200,16 @@ final class MemberBox implements Serializable
return ctor.newInstance(args);
} catch (IllegalAccessException ex) {
if (!tryToMakeAccessible(ctor)) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
return ctor.newInstance(args);
} catch (IllegalAccessException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
} catch (InvocationTargetException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
} catch (InstantiationException ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
}
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/NativeJavaObject.java b/mozilla/js/rhino/src/org/mozilla/javascript/NativeJavaObject.java
index c2ad92637a5..a96b6ad9a47 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/NativeJavaObject.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/NativeJavaObject.java
@@ -691,7 +691,7 @@ WrapFactory#wrap(Context cx, Scriptable scope, Object obj, Class)}
try {
glue = adapter_makeIFGlue.invoke(null, args);
} catch (Exception ex) {
- throw Context.throwAsUncheckedException(ex);
+ throw Context.throwAsScriptRuntimeEx(ex);
}
if (glue != null) {
// Store for later retrival
diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/optimizer/Codegen.java b/mozilla/js/rhino/src/org/mozilla/javascript/optimizer/Codegen.java
index abb2cdcb6b7..8ba15b8ee18 100644
--- a/mozilla/js/rhino/src/org/mozilla/javascript/optimizer/Codegen.java
+++ b/mozilla/js/rhino/src/org/mozilla/javascript/optimizer/Codegen.java
@@ -96,7 +96,7 @@ public class Codegen extends Interpreter {
onlySave = true;
}
} catch (IOException iox) {
- throw Context.throwAsUncheckedException(iox);
+ throw Context.throwAsScriptRuntimeEx(iox);
}
if (!isPrimary) {
@@ -124,7 +124,7 @@ public class Codegen extends Interpreter {
onlySave = true;
}
} catch (IOException iox) {
- throw Context.throwAsUncheckedException(iox);
+ throw Context.throwAsScriptRuntimeEx(iox);
}
}
}