--TEST-- Bug #69212: Leaking VIA_HANDLER func when exception thrown in __call/... arg passing --FILE-- bar(do_throw()); } catch (Exception $e) { echo "Caught!\n"; } try { $f = function () {}; $f->__invoke(do_throw()); } catch (Exception $e) { echo "Caught!\n"; } try { $t = new Test; $f->__invoke($t->bar(Test::foo(do_throw()))); } catch (Exception $e) { echo "Caught!\n"; } ?> --EXPECT-- Caught! Caught! Caught! Caught!