Почему не срабатывает исключение?

181
07 июля 2017, 07:30
try{
     1/0;
}catch (\DivisionByZeroError  $error){
        echo $error->getMessage();
}

По идее должен сработать catch, но почему-то выводит

Warning: Division by zero in C:\path\index.php on line 4

Answer 1

Деление на ноль является синтаксической ошибкой. Поэтому её правильно обрабатывать как в примере, используя throw:

function inverse($x) {
  if (!$x) {
    throw new Exception('Деление на ноль.');
  }
  return 1/$x;
}
 try {
   echo inverse(5) . "\n";
   echo inverse(0) . "\n";
 } catch (Exception $e) {
   echo 'Выброшено исключение: ',  $e->getMessage(), "\n";
 }
READ ALSO
php - остановка скрипта

php - остановка скрипта

Есть скрипт который быстренько делает свое дело и отрубается (загрузка файла) нужно провести откладку, посмотреть значения переменных, выполнение...

244
Работа с массивом vk API

Работа с массивом vk API

Есть ответ от vk api, если count стоит больше 1, то код не хочет работать со всем списком, не могу понять, что нужно исправить

338
Primary key ID missing from row or is null idiorm

Primary key ID missing from row or is null idiorm

Есть кодНужно обновить запись в sqlite через idiorm

292
Определить DOCUMENT_ROOT при запуске из консоли

Определить DOCUMENT_ROOT при запуске из консоли

Есть ли возможность определить константу $_SERVER['DOCUMENT_ROOT'] при запуске скрипта из консоли?

181