Вступить в клуб →
средняявопросPHP 8: типы и поведение языка

Деление на ноль внутри try/catch (Exception)

function safeDivide(int $a, int $b): int
{
    try {
        return intdiv($a, $b);
    } catch (Exception $e) {
        return 0;
    }
}

echo safeDivide(10, 0);

Какое поведение верно?

  • Скрипт завершится фатально: DivisionByZeroError наследуется от Error и в catch (Exception) не попадает
  • Вернёт 0: catch (Exception) перехватывает любые ошибки выполнения, включая ошибки уровня движка
  • Вернёт 0, а деление на ноль дополнительно запишет warning в лог ошибок PHP
  • Вернёт INF: деление на ноль в PHP ошибкой не считается и даёт бесконечность

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела