2012-12-17 21:02:32 +00:00
|
|
|
--TEST--
|
|
|
|
Generator::throw() where the generator throws a different exception
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
function gen() {
|
2013-12-01 12:37:56 +00:00
|
|
|
echo "before yield\n";
|
2012-12-17 21:02:32 +00:00
|
|
|
try {
|
|
|
|
yield;
|
|
|
|
} catch (RuntimeException $e) {
|
|
|
|
echo 'Caught: ', $e, "\n\n";
|
|
|
|
|
|
|
|
throw new LogicException('new throw');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$gen = gen();
|
|
|
|
var_dump($gen->throw(new RuntimeException('throw')));
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECTF--
|
2013-12-01 12:37:56 +00:00
|
|
|
before yield
|
2012-12-17 21:02:32 +00:00
|
|
|
Caught: exception 'RuntimeException' with message 'throw' in %s:%d
|
|
|
|
Stack trace:
|
|
|
|
#0 {main}
|
|
|
|
|
|
|
|
|
|
|
|
Fatal error: Uncaught exception 'LogicException' with message 'new throw' in %s:%d
|
|
|
|
Stack trace:
|
|
|
|
#0 [internal function]: gen()
|
|
|
|
#1 %s(%d): Generator->throw(Object(RuntimeException))
|
|
|
|
#2 {main}
|
|
|
|
thrown in %s on line %d
|
|
|
|
|