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.