Closed
Description
Description
The following code (https://3v4l.org/pvIjH):
<?php
function yieldFromIteratorGeneratorThrows() {
try {
yield from new class(new ArrayIterator([1, -2])) extends IteratorIterator {
public function key() {
if ($k = parent::key()) {
throw new Exception;
}
return $k;
}
};
} catch (Exception $e) {
yield 2;
}
}
foreach (yieldFromIteratorGeneratorThrows() as $k => $v) {
var_dump($v);
}
Resulted in this output:
int(1)
But I expected this output instead:
int(1)
int(2)
PHP Version
PHP 7.2 - master
Operating System
No response