]> granicus.if.org Git - php/commitdiff
Convert SPL fatal error to Error exception
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 17 Jul 2020 14:03:08 +0000 (16:03 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 17 Jul 2020 14:06:54 +0000 (16:06 +0200)
ext/spl/spl_iterators.c
ext/spl/tests/bug41828.phpt

index ca1a5457e226fde0c1da50c7fcb4af1d233def58..047a72082dbd686398ba4ab4e8d2afdf6cb977b6 100644 (file)
@@ -862,7 +862,8 @@ static zend_function *spl_recursive_it_get_method(zend_object **zobject, zend_st
        zval                    *zobj;
 
        if (!object->iterators) {
-               php_error_docref(NULL, E_ERROR, "The %s instance wasn't initialized properly", ZSTR_VAL((*zobject)->ce->name));
+               zend_throw_error(NULL, "The %s instance wasn't initialized properly", ZSTR_VAL((*zobject)->ce->name));
+               return NULL;
        }
        zobj = &object->iterators[level].zobject;
 
index 6053e0e4468beed3612c6e2a7f6755e9fb38b682..548b3884fc7061735ed8f79a0756a623e9aa714a 100644 (file)
@@ -15,7 +15,8 @@ $foo = new foo("This is bar");
 echo $foo->bar();
 
 ?>
-==DONE==
-<?php exit(0); ?>
 --EXPECTF--
-Fatal error: main(): The foo instance wasn't initialized properly in %s on line %d
+Fatal error: Uncaught Error: The foo instance wasn't initialized properly in %s:%d
+Stack trace:
+#0 {main}
+  thrown in %s on line %d