Серьезность кодов исключений - PullRequest
0 голосов
/ 05 июля 2019

Я потратил около недели, пытаясь разобраться с обработчиками ошибок и исключений. (Мне 64 года и все забывают десять раз, поэтому я ОЧЕНЬ медленный.)

С фатальной ошибкой я отправляю себе текстовое сообщение, с другими ошибками я получаю электронное письмо. (Я добавил массивы в конце, если они могут быть полезны.)

Для ошибок есть https://php.net/manual/en/errorfunc.constants.php I, но я не могу найти ничего похожего для исключений.

Я полагаю, что могу установить свои собственные значения исключений, но существуют ли согласованные уровни серьезности для общих исключений, PDOExceptions и т. Д. Единственное место, где я нахожу серьезность, указано в ErrorException. (Я сейчас использую только исключения PDOException, но пытаюсь отловить другие «общие».)

Указатель на вспомогательную диаграмму серьезности наиболее ценится. Я свободно признаю, что борюсь с исключениями.

PS Я посмотрел на https://www.php.net/manual/en/errorexception.getseverity.php, но похоже, что это для ошибок, отправляемых в виде исключений - или ... Теперь он окончательно запутался.

=============================================== ===========

Массивы кодов ошибок, если они полезны.

$phpErrorCodes = array (
1   => "E_ERROR",
2   => "E_WARNING",
4   => "E_PARSE",
8   => "E_NOTICE",
16  => "E_CORE_ERROR",
32  => "E_CORE_WARNING",
64  => "E_COMPILE_ERROR",
128 => "E_COMPILE_WARNING",
256 => "E_USER_ERROR",
512 => "E_USER_WARNING",
1024 => "E_USER_NOTICE",
2048 => "E_STRICT  E_ALL",
4096 => "E_RECOVERABLE_ERROR",
8192 => "E_DEPRECATED",
16384=> "E_USER_DEPRECATED",
32767=> "E_ALL");

$phpErrorCodesFatal = array (
1   => "E_ERROR",
16  => "E_CORE_ERROR",
64  => "E_COMPILE_ERROR",
4096 => "E_RECOVERABLE_ERROR");

$phpErrorCodesFatalNumberOnly = array (
    1   ,
    16  ,
    64  ,
    4096);

//4096 recoverable but dangerous so treated as fatal 
...