提交 d31c17b9 编写于 作者: D darcy

6380161: (reflect) Exception from newInstance() not chained to cause.

Reviewed-by: dholmes, lancea, forax
上级 67048e6b
...@@ -349,7 +349,8 @@ public final ...@@ -349,7 +349,8 @@ public final
}); });
cachedConstructor = c; cachedConstructor = c;
} catch (NoSuchMethodException e) { } catch (NoSuchMethodException e) {
throw new InstantiationException(getName()); throw (InstantiationException)
new InstantiationException(getName()).initCause(e);
} }
} }
Constructor<T> tmpConstructor = cachedConstructor; Constructor<T> tmpConstructor = cachedConstructor;
...@@ -973,7 +974,8 @@ public final ...@@ -973,7 +974,8 @@ public final
descriptor = (String) enclosingInfo[2]; descriptor = (String) enclosingInfo[2];
assert((name != null && descriptor != null) || name == descriptor); assert((name != null && descriptor != null) || name == descriptor);
} catch (ClassCastException cce) { } catch (ClassCastException cce) {
throw new InternalError("Invalid type in enclosing method information"); throw (InternalError)
new InternalError("Invalid type in enclosing method information").initCause(cce);
} }
} }
...@@ -1239,7 +1241,8 @@ public final ...@@ -1239,7 +1241,8 @@ public final
try { try {
return getName().substring(enclosingClass.getName().length()); return getName().substring(enclosingClass.getName().length());
} catch (IndexOutOfBoundsException ex) { } catch (IndexOutOfBoundsException ex) {
throw new InternalError("Malformed class name"); throw (InternalError)
new InternalError("Malformed class name").initCause(ex);
} }
} }
...@@ -2954,9 +2957,8 @@ public final ...@@ -2954,9 +2957,8 @@ public final
} }
// These can happen when users concoct enum-like classes // These can happen when users concoct enum-like classes
// that don't comply with the enum spec. // that don't comply with the enum spec.
catch (InvocationTargetException ex) { return null; } catch (InvocationTargetException | NoSuchMethodException |
catch (NoSuchMethodException ex) { return null; } IllegalAccessException ex) { return null; }
catch (IllegalAccessException ex) { return null; }
} }
return enumConstants; return enumConstants;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册