Hello,

Please review the patch below to address

    JDK-8042748: Clarify exception thrown by ParameterizedTypeImpl.validateConstructorArguments()

Thanks,

-Joe

diff -r 0a7af38ef32a src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java --- a/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java Thu Jun 06 17:48:06 2019 -0700 +++ b/src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java Thu Jun 06 18:52:14 2019 -0700
@@ -56,7 +56,14 @@
         TypeVariable<?>[] formals = rawType.getTypeParameters();
         // check correct arity of actual type args
         if (formals.length != actualTypeArguments.length){
-            throw new MalformedParameterizedTypeException();
+            throw new MalformedParameterizedTypeException(String.format("Mismatch of count of " +
+                                    "formal and actual type " +
+                                    "arguments in constructor " +
+                                    "of %s: %d formal argument(s) "+
+                                    "%d actual argument(s)",
+                                    rawType.getName(),
+                                    formals.length,
+ actualTypeArguments.length));
         }
         for (int i = 0; i < actualTypeArguments.length; i++) {
             // check actuals against formals' bounds

Reply via email to