12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- --TEST--
- Exceptions thrown into a rope must not leak
- --FILE--
- <?php
- class Obj {
- function __get($x) {
- throw new Exception();
- }
- }
- try {
- $x = new Obj;
- $y = 0;
- $r = "$y|$x->x|";
- echo "should never be reached";
- } catch (Exception $e) {
- echo "$e\n";
- }
- try {
- $x = new Obj;
- $y = 0;
- $r = "$y$x->x|";
- echo "should never be reached";
- } catch (Exception $e) {
- echo "$e\n";
- }
- try {
- $x = new Obj;
- $y = 0;
- $r = "$y|$y$x->x";
- echo "should never be reached";
- } catch (Exception $e) {
- echo "$e\n";
- }
- ?>
- --EXPECTF--
- Exception in %s:%d
- Stack trace:
- #0 %s(%d): Obj->__get('x')
- #1 {main}
- Exception in %s:%d
- Stack trace:
- #0 %s(%d): Obj->__get('x')
- #1 {main}
- Exception in %s:%d
- Stack trace:
- #0 %s(%d): Obj->__get('x')
- #1 {main}
|