exception_rethrown.phpt 717B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Test rethrowing in custom exception handler
  3. --FILE--
  4. <?php
  5. namespace Symfony\Component\Debug;
  6. $vendor = __DIR__;
  7. while (!file_exists($vendor.'/vendor')) {
  8. $vendor = dirname($vendor);
  9. }
  10. require $vendor.'/vendor/autoload.php';
  11. if (true) {
  12. class TestLogger extends \Psr\Log\AbstractLogger
  13. {
  14. public function log($level, $message, array $context = array())
  15. {
  16. echo $message, "\n";
  17. }
  18. }
  19. }
  20. set_exception_handler(function ($e) { echo 123; throw $e; });
  21. ErrorHandler::register()->setDefaultLogger(new TestLogger());
  22. ini_set('display_errors', 1);
  23. throw new \Exception('foo');
  24. ?>
  25. --EXPECTF--
  26. Uncaught Exception: foo
  27. 123
  28. Fatal error: Uncaught %s:25
  29. Stack trace:
  30. %a