2012-06-19 2 views
0

Полезно ли использовать пользовательские уровни ошибок на trigger_error()?Пользовательский уровень ошибок на trigger_error()

Например, я могу сделать:

define('E_MY_LEVEL', 3); 
... 
trigger_error('Hey this error occurs every time!', E_MY_LEVEL); 

? Учтите, что 3 не является PHP Error level value, поэтому он не вступает в конфликт с другими уровнями.

(я хочу сделать это так, что я не должен создавать другую функцию, которая требует другого кода, а не тот, я уже писал в error_handler функции I, связанной с set_error_handler().)

+0

Если это сработает, почему бы и нет? – madfriend

+0

Если ваш обработчик ошибок является обычным и знает обо всех назначенных магических значениях, он не проверяет входящее целое число как битовое поле, то да, это возможно. – mario

ответ

1

Трудно сказать, является ли это хорошая практика или нет, но 3 существует как PHP Level Error Value -

error_reporting(E_ERROR | E_WARNING); // E_ERROR | E_WARNING = 3 

Кроме того, не зная, что ваша функция триггера() есть trigger_error необходим уровень ошибки в диапазоне E_USER. .. может быть, было бы лучше использовать E_USER_NOTICE? (1024)

+0

Я набрал это неправильно. Я имею в виду 'trigger_error()' native. Но да, вы правы, 3 i значение уровня ошибки. Может быть, я могу использовать отрицательные значения? – Shoe

1

Базовые флаги кода ошибки E_XXX обычно основаны на степенях двух, например. 1 2 4 8 16 32 и т. Д.

Если вы обнаружили неиспользованную силу в два, вы можете использовать ее.

Потому что 3 = 1 + 2 - сумма двух степеней двух, она считается с использованием двух флагов, E_ERROR | E_WARNING.

Смежные вопросы