--TEST--
user defined error handler + set_error_handling(EH_THROW)
--SKIPIF--
<?php
	if(substr(PHP_OS, 0, 3) == "WIN") die("skip Not for Windows");
	if (!extension_loaded("spl") || is_dir('/this/path/does/not/exist')) die("skip");
?>
--FILE--
<?php
$dir = '/this/path/does/not/exist';

set_error_handler('my_error_handler');
function my_error_handler() {$a = func_get_args(); print "in error handler\n"; }

try {
        print "before\n";
        $iter = new DirectoryIterator($dir);
        print get_class($iter) . "\n";
        print "after\n";
} catch (Exception $e) {
        print "in catch: ".$e->getMessage()."\n";
}
?>
==DONE==
<?php exit(0); ?>
--EXPECT--
before
in catch: DirectoryIterator::__construct(/this/path/does/not/exist): failed to open dir: No such file or directory
==DONE==
