diff --git a/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java b/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java index c850306724..3956f6f585 100644 --- a/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java +++ b/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java @@ -133,12 +133,9 @@ public @interface TestConstructor { ANNOTATED; - private static final Log logger = LogFactory.getLog(AutowireMode.class); - /** * Get the {@code AutowireMode} enum constant with the supplied name, * ignoring case. - * * @param name the name of the enum constant to retrieve * @return the corresponding enum constant or {@code null} if not found * @since 5.3 @@ -146,16 +143,19 @@ public @interface TestConstructor { */ @Nullable public static AutowireMode from(@Nullable String name) { + if (name == null) { + return null; + } try { return AutowireMode.valueOf(name.trim().toUpperCase()); } - catch (Exception ex) { + catch (IllegalArgumentException ex) { + Log logger = LogFactory.getLog(AutowireMode.class); if (logger.isDebugEnabled()) { - logger.debug(String.format("Failed to parse autowire mode from '%s': %s", name, - ex.getMessage())); + logger.debug(String.format("Failed to parse autowire mode from '%s': %s", name, ex.getMessage())); } + return null; } - return null; } }