exception_before_fatal.phpt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. Exceptions before fatal error
  3. --FILE--
  4. <?php
  5. function exception_error_handler($code, $msg) {
  6. throw new Exception($msg);
  7. }
  8. set_error_handler("exception_error_handler");
  9. try {
  10. $foo->a();
  11. } catch(Throwable $e) {
  12. var_dump($e->getMessage());
  13. }
  14. try {
  15. new $foo();
  16. } catch(Throwable $e) {
  17. var_dump($e->getMessage());
  18. }
  19. try {
  20. throw $foo;
  21. } catch(Throwable $e) {
  22. var_dump($e->getMessage());
  23. }
  24. try {
  25. $foo();
  26. } catch(Throwable $e) {
  27. var_dump($e->getMessage());
  28. }
  29. try {
  30. $foo::b();
  31. } catch(Throwable $e) {
  32. var_dump($e->getMessage());
  33. }
  34. try {
  35. $b = clone $foo;
  36. } catch(Throwable $e) {
  37. var_dump($e->getMessage());
  38. }
  39. class b {
  40. }
  41. try {
  42. b::$foo();
  43. } catch(Throwable $e) {
  44. var_dump($e->getMessage());
  45. }
  46. ?>
  47. --EXPECT--
  48. string(23) "Undefined variable $foo"
  49. string(23) "Undefined variable $foo"
  50. string(23) "Undefined variable $foo"
  51. string(23) "Undefined variable $foo"
  52. string(23) "Undefined variable $foo"
  53. string(23) "Undefined variable $foo"
  54. string(23) "Undefined variable $foo"