avoid throwing an exception just for detecting valid time zones

This script:

```php
<?php

try {
$dt = new DateTime('Twilight zone');
} catch (\Exception $e) {
    echo "Caught: " . $e->getMessage() . "\n";
}
```

Ran with `error_reporting=-1` and `display_errors=On` yields no warning for me.