提交 d31c17b9 编写于 作者: D darcy

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

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