необработанные ошибки в php

Как я могу знать во время времени выполнения, что мой код бросил Предупреждение?

пример

try {
    echo (25/0);
} catch (exception $exc) {
    echo "exception catched";
}

броски "Предупреждение: Деление на нуль" ошибка, которую я не могу обработать на своем коде.

6
задан lexus 27 March 2010 в 11:21
поделиться

3 ответа

Вам нужна функция set_error_handler () . Ознакомьтесь с образцом кода в руководстве.

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

7
ответ дан 8 December 2019 в 16:00
поделиться

Вам необходимо самостоятельно обработать исключение, например,

function inverse($x)
{
    if(!$x)
    {
         throw new Exception('Division by zero.');
    }
    else
    { 
        return 1/$x;
    }
}


try
{
     echo inverse(5);
     echo inverse(0);
}
catch (Exception $e)
{ 
    echo $e->getMessage();
}
5
ответ дан 8 December 2019 в 16:00
поделиться

Вам необходимо установить обработчик ошибок, который преобразует "ошибки" php старого стиля в исключения. См. Пример здесь

3
ответ дан 8 December 2019 в 16:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: