summaryrefslogtreecommitdiff
path: root/Zend/tests/generators/generator_throwing_exception.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/generators/generator_throwing_exception.phpt')
-rw-r--r--Zend/tests/generators/generator_throwing_exception.phpt28
1 files changed, 28 insertions, 0 deletions
diff --git a/Zend/tests/generators/generator_throwing_exception.phpt b/Zend/tests/generators/generator_throwing_exception.phpt
new file mode 100644
index 0000000000..5df4a81132
--- /dev/null
+++ b/Zend/tests/generators/generator_throwing_exception.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Generators can throw exceptions
+--FILE--
+<?php
+
+function *gen() {
+ yield 'foo';
+ throw new Exception('test');
+ yield 'bar';
+}
+
+$gen = gen();
+
+var_dump($gen->current());
+
+try {
+ $gen->next();
+} catch (Exception $e) {
+ echo 'Caught exception with message "', $e->getMessage(), '"', "\n";
+}
+
+var_dump($gen->current());
+
+?>
+--EXPECT--
+string(3) "foo"
+Caught exception with message "test"
+NULL