1--TEST--
2user defined error handler + set_error_handling(EH_THROW)
3--SKIPIF--
4<?php
5if (substr(PHP_OS, 0, 3) == "WIN") die("skip Not for Windows");
6if (is_dir('/this/path/does/not/exist')) die("skip directory /this/path/does/not/exist already exists");
7?>
8--FILE--
9<?php
10$dir = '/this/path/does/not/exist';
11
12set_error_handler('my_error_handler');
13function my_error_handler() {$a = func_get_args(); print "in error handler\n"; }
14
15try {
16        print "before\n";
17        $iter = new DirectoryIterator($dir);
18        print get_class($iter) . "\n";
19        print "after\n";
20} catch (Exception $e) {
21        print "in catch: ".$e->getMessage()."\n";
22}
23?>
24==DONE==
25<?php exit(0); ?>
26--EXPECT--
27before
28in catch: DirectoryIterator::__construct(/this/path/does/not/exist): Failed to open directory: No such file or directory
29==DONE==
30