6380161: (reflect) Exception from newInstance() not chained to cause
Reviewed-by: dholmes, lancea, forax
This commit is contained in:
parent
5acfe8c521
commit
2aa1b6d565
@ -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
|
|||||||
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
|
|||||||
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
|
|||||||
}
|
}
|
||||||
// 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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user