From e2303e24dd0370e4a1be7adc7d948555d80a89c8 Mon Sep 17 00:00:00 2001 From: VampireAchao Date: Thu, 4 May 2023 22:53:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/hutool/core/reflect/kotlin/KClassUtil.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/kotlin/KClassUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/kotlin/KClassUtil.java index 83f370e70..5ef7479f0 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/reflect/kotlin/KClassUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/reflect/kotlin/KClassUtil.java @@ -108,9 +108,17 @@ public class KClassUtil { @SuppressWarnings("unchecked") public static T newInstance(final Class targetType, final ValueProvider valueProvider) { final List constructors = getConstructors(targetType); + RuntimeException exception = null; for (final Object constructor : constructors) { final Object[] parameterValues = getParameterValues(constructor, valueProvider); - return (T) KCallable.call(constructor, parameterValues); + try { + return (T) KCallable.call(constructor, parameterValues); + } catch (RuntimeException e) { + exception = e; + } + } + if (exception != null) { + throw exception; } return null; }