fork(1) download
  1. <?php
  2.  
  3. try {
  4. 1/0; // стандартный ворнинг
  5. } catch (Throwable $e) {
  6. echo 'Houston, we have a problem: ', $e->getMessage(), PHP_EOL;
  7. }
  8. echo '------------------------------------------------', PHP_EOL;
  9.  
  10. // добавляем кастомный обработчик
  11. set_error_handler(function ($severity, $message, $file, $line) {
  12. throw new \ErrorException($message, $severity, $severity, $file, $line);
  13. });
  14.  
  15. try {
  16. 1/0; // исключение
  17. } catch (Throwable $e) {
  18. echo 'Houston, we have a problem: ', $e->getMessage(), PHP_EOL;
  19. }
  20.  
  21. echo '------------------------------------------------', PHP_EOL;
  22. restore_error_handler(); // удаляем кастомный обработчик
  23.  
  24. try {
  25. 1/0; // опять стандартный ворнинг
  26. } catch (Throwable $e) {
  27. echo 'Houston, we have a problem: ', $e->getMessage(), PHP_EOL;
  28. }
Success #stdin #stdout #stderr 0s 82560KB
stdin
Standard input is empty
stdout
------------------------------------------------
Houston, we have a problem: Division by zero
------------------------------------------------
stderr
PHP Warning:  Division by zero in /home/RDlbC2/prog.php on line 4
PHP Warning:  Division by zero in /home/RDlbC2/prog.php on line 25