2012-06-19 3 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이 아니므로 다른 레벨과 충돌하지 않는다고 생각하십시오.

는 (나는 이미 set_error_handler()에 관련된 error_handler 기능 I에서 작성한 하나가 아닌 다른 코드를 필요로하는 다른 함수를 만들 필요가 없습니다 있도록이 작업을 수행 할 수 있습니다.)

+0

작동하는 이유는 무엇입니까? – madfriend

+0

오류 처리기가 사용자 지정 오류 처리기이고 할당 된 모든 마법 값을 알고 비트 필드로 들어오는 정수를 검사하지 않는다면 가능합니다. – mario

답변

1

하드 이것이 좋은 방법인지 아닌지를 말할 수 있지만, 3은 PHP 오류 레벨 값으로 존재 -

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

는 또한 트리거() 함수는 E_USER 범위에서 오류 수준을 필요로하는 trigger_error, 무엇인지 모르고. 아마도 E_USER_NOTICE를 사용하는 것이 가장 좋을까요? (1024)

+0

내가 잘못 입력했습니다. 나는 원래의 trigger_error()를 의미한다. 하지만 네, 맞습니다. 오류 수준 값은 3입니다. 어쩌면 음수 값을 사용할 수 있습니까? – Shoe

1

기본 E_XXX 오류 코드 플래그는 일반적으로 2의 멱수를 기반으로합니다. 1 2 4 8 16 32 등

사용하지 않은 힘이 2이면 그 것을 사용할 수 있습니다.

3 = 1 + 2는 2의 두 제곱의 합이므로 두 개의 플래그 E_ERROR |를 사용하여 계산됩니다. E_WARNING.