--TEST-- Exceptions before fatal error --FILE-- a(); } catch(Throwable $e) { var_dump($e->getMessage()); } try { new $foo(); } catch(Throwable $e) { var_dump($e->getMessage()); } try { throw $foo; } catch(Throwable $e) { var_dump($e->getMessage()); } try { $foo(); } catch(Throwable $e) { var_dump($e->getMessage()); } try { $foo::b(); } catch(Throwable $e) { var_dump($e->getMessage()); } try { $b = clone $foo; } catch(Throwable $e) { var_dump($e->getMessage()); } class b { } try { b::$foo(); } catch(Throwable $e) { var_dump($e->getMessage()); } ?> --EXPECT-- string(23) "Undefined variable $foo" string(23) "Undefined variable $foo" string(23) "Undefined variable $foo" string(23) "Undefined variable $foo" string(23) "Undefined variable $foo" string(23) "Undefined variable $foo" string(23) "Undefined variable $foo"