Skip to content

Commit 43a2ef2

Browse files
committed
Include the full input when unable to construct an object
Fixes #361
1 parent 5f66827 commit 43a2ef2

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

core/common/src/format/DateTimeFormat.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,10 @@ internal sealed class AbstractDateTimeFormat<T, U : Copyable<U>> : DateTimeForma
115115
try {
116116
return valueFromIntermediate(matched)
117117
} catch (e: IllegalArgumentException) {
118-
throw DateTimeFormatException(e.message!!)
118+
throw DateTimeFormatException(when (val message = e.message) {
119+
null -> "The value parsed from '$input' is invalid"
120+
else -> "$message (when parsing '$input')"
121+
}, e)
119122
}
120123
}
121124

core/common/src/internal/format/FieldFormatDirective.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ internal abstract class NamedUnsignedIntFieldFormatDirective<in Target>(
108108
override fun parser(): ParserStructure<Target> =
109109
ParserStructure(
110110
listOf(
111-
StringSetParserOperation(values, AssignableString(), "One of $values for $name")
111+
StringSetParserOperation(values, AssignableString(), "one of $values for $name")
112112
), emptyList()
113113
)
114114
}
@@ -142,7 +142,7 @@ internal abstract class NamedEnumIntFieldFormatDirective<in Target, Type>(
142142
override fun parser(): ParserStructure<Target> =
143143
ParserStructure(
144144
listOf(
145-
StringSetParserOperation(mapping.values, AssignableString(), "One of ${mapping.values} for $name")
145+
StringSetParserOperation(mapping.values, AssignableString(), "one of ${mapping.values} for $name")
146146
), emptyList()
147147
)
148148
}

0 commit comments

Comments
 (0)