From bf3278596c3b46184d911c566ac245edac0dcbb9 Mon Sep 17 00:00:00 2001 From: xumengqi <2663479778@qq.com> Date: Sun, 14 Apr 2024 23:21:19 +0800 Subject: [PATCH] Include actual cause's message in various parsing exception messages This change improves the message of several parsing-related exceptions that would previously entirely swallow the original exception's message and sometimes have a slightly misleading message as a result. This is done by appending the cause's `toString` representation to the IllegalArgumentException messages instead of an hardcoded "cause". Closes gh-32636 --- .../annotation/ScheduledAnnotationBeanPostProcessor.java | 6 +++--- .../interceptor/DefaultTransactionAttribute.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java b/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java index 9bf79177cf0..586d0cf8724 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java @@ -411,7 +411,7 @@ public class ScheduledAnnotationBeanPostProcessor } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid initialDelayString value \"" + initialDelayString + "\" - cannot parse into long"); + "Invalid initialDelayString value \"" + initialDelayString + "\"; " + ex); } } } @@ -463,7 +463,7 @@ public class ScheduledAnnotationBeanPostProcessor } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid fixedDelayString value \"" + fixedDelayString + "\" - cannot parse into long"); + "Invalid fixedDelayString value \"" + fixedDelayString + "\"; " + ex); } tasks.add(this.registrar.scheduleFixedDelayTask(new FixedDelayTask(runnable, fixedDelay, delayToUse))); } @@ -489,7 +489,7 @@ public class ScheduledAnnotationBeanPostProcessor } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid fixedRateString value \"" + fixedRateString + "\" - cannot parse into long"); + "Invalid fixedRateString value \"" + fixedRateString + "\"; " + ex); } tasks.add(this.registrar.scheduleFixedRateTask(new FixedRateTask(runnable, fixedRate, delayToUse))); } diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java index ab3df073c7c..dfa292eeb07 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java @@ -207,7 +207,7 @@ public class DefaultTransactionAttribute extends DefaultTransactionDefinition im } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid timeoutString value \"" + timeoutString + "\" - cannot parse into int"); + "Invalid timeoutString value \"" + timeoutString + "\"; " + ex); } } }