Spring Framework Version: Latest (6.1.13) and below
spring-beans/src/main/java/org/springframework/beans/propertyeditors/ZoneIdEditor.java calls ZoneId.of which throws a java.time.DateTimeException.
But org.springframework.beans.TypeConverterSupport.convertIfNecessary(String, Object, Class<T>, TypeDescriptor) is expecting an IllegalArgumentException.
This manifests in a variety of ways. Best example is in web-mvc assuming a controller with:
```java @GetMapping("/") public void get( @RequestParam(name = "integer", required = false) int integer, @RequestParam(name = "zoneId") ZoneId zoneId) {
}
```
This means a get request of /?integer=helloworld results in a MethodArgumentTypeMismatchException which can easily be bound to 400 response.
However a get request of /?zoneId=helloworld results in a DateTimeException which binds to 500 response.
The integer parameter binding works because it throws NumberFormatException which extends from IllegalArgumentException.