/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/recursiveIteratorIterator_callHasChildren_error.phpt
36 строк
867 B
Gina Peter Banyard
ext/spl: Deprecate ArrayObject and ArrayIterator with objects (#19420)
14 авг 2025, 14:38
Не верифицирован
14 авг 2025, 14:38
fb87b14
Код
Авторство
О чём код?
--TEST-- SPL: RecursiveIteratorIterator - Exception thrown in callHasChildren which should be handled in next() --FILE-- <?php $recArrIt = new RecursiveArrayIterator([ [1, 2], ['a', 'b'], ]); class MyRecursiveIteratorIterator extends RecursiveIteratorIterator { function callHasChildren(): bool { throw new Exception; } } $recItIt = new MyRecursiveIteratorIterator($recArrIt, RecursiveIteratorIterator::LEAVES_ONLY, RecursiveIteratorIterator::CATCH_GET_CHILD); var_dump($recItIt->next()); $recItIt2 = new MyRecursiveIteratorIterator($recArrIt, RecursiveIteratorIterator::LEAVES_ONLY); var_dump($recItIt2->next()); ?> --EXPECTF-- NULL Fatal error: Uncaught Exception in %s Stack trace: #0 [internal function]: MyRecursiveIteratorIterator->callHasChildren() #1 %s: RecursiveIteratorIterator->next() #2 {main} thrown in %s on line %d