문제

PHP 4를 사용하고 있습니다. 오류를 일으키고 모든 것이 다이를 호출하는 것을 멈추는 유일한 방법입니다. 그러나 나중에 오류가 발생하고 어디에서 왔는지 기억하지 못하는 경우 Die ()가 발생한 페이지와 줄 번호 (다른 PHP 오류와 마찬가지로)를 지정하고 싶습니다. 이것을 할 방법이 있습니까?

감사!

도움이 되었습니까?

해결책

당신은 조사해야합니다 마법 상수.

echo __LINE__; // Line number

당신은 또한 실행할 수 있습니다 오류 기록() 로그에 조용히 오류를 보냅니다.

다른 팁

나는 당신이 사용해야한다고 생각합니다 trigger_error () e_user_error 또는 e_user_warning을 생성합니다. 이를 통해 동작을 자세히 제어 할 수 있습니다. 예를 들어, 메시지를 사용하여 전혀 표시 해야하는지 지정할 수 있습니다. error_reporting (), 또는 e_user_warning : s set_error_handler ()를 명시 적으로 사용합니다.

가장 간단한 방법은 사용하는 것입니다.

echo __FILE__ . ": line " . __LINE__;
die();

PHP5를 사용하려면 예외를 사용할 수도 있습니다.

throw new Exception("My error message!");

스택 트레이스는 전체 통화 스택과이 선이 던져진 선을 드러냅니다.

(편집 : [@john isaacs]와 [@emil h] 덕분에 PHP5까지 PHP에 예외가 추가되지 않았 음을 알려 주셔서 감사합니다)

@jukka dahlbom 및 @Ólafur Waage의 제안 외에도 debug_backtrace().

더 나은 사용 error_log() 오류를보고합니다 debug_backtrace() 디버깅을 위해. 자신의 오류 처리 기능을 작성할 수도 있습니다 ( set_error_handler()) 둘 다 결합합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top