Обробка помилок

Вищезгадані значення (цифрові або символьні) використовуються для побудови бітової маски, яка специфікує виведене повідомлення про помилку. Ви можете використовувати бітові операції для маскування певних типів помилок. Зверніть увагу, що тільки '|', '

','! ' і '' будуть зрозумілі в php.ini і що ніякі бітові операції НЕ будуть зрозумілі в php3.ini.

У PHP 4 значенням за замовчуванням для error_reporting буде E_ALL

E_NOTICE. що означає відображення всіх помилок і попереджень, які не мають рівень E_NOTICE-level. У PHP 3 значення за замовчуванням (E_ERROR | E_WARNING | E_PARSE) означає те ж саме. Зауважте, однак, що, оскільки константи не підтримуються в PHP 3 в файлі php3.ini. установка error_reporting повинна виконуватися цифрами; тобто 7 за замовчуванням.

Початкове значення може бути змінено в ini-файлі директивою error_reporting. в вашому Apache httpd.conf-файл директивою php_error_reporting (php3_error_reporting для PHP 3) і, нарешті, воно може бути встановлено на етапі прогону скрипта функцією error_reporting ().

При оновленні коду або серверів з PHP 3 до PHP 4 ви повинні перевірити ці установки і виклики error_reporting (), або можете відключити виведення повідомлень про нові типи помилок, особливо про E_COMPILE_ERROR. Це може привести до появи порожніх документів без будь-якого повідомлення про причини і місце виникнення проблеми.

Всі вирази РНР можуть також викликатися з префіксом "@", який відключає повідомлення про помилки для даного конкретного вираження. Якщо помилка виникає в ході обчислення такого виразу і track_errors включена, ви можете знайти повідомлення про помилку в глобальній змінній $ php_errormsg.

Примітка: Префікс @ error-control-операції не відключати висновок повідомлень, які є результатом помилок розбору.

В даний час префікс @ error-control-операції відключає навіть Повідомлення про критичну помилку, які переривають виконання скрипта. Крім іншого, це означає, що, якщо ви використовуєте @ для придушення помилок з певної функції і вона не тяжка вона або неправильно написана, скрипт накриється без вказівки причини.

Приклад 15-1. Обробка помилок в скриптах

Схожі статті