Die () atma zaman sayfa / satır belirtin?

5 Cevap php

PHP 4) bir hataya neden ve her şeyi (die çağırıyor durdurmak için bildiğim tek yol kullanıyorum. Ama durumda daha sonra hata çalıştırın ve I gelen kalıp () (diğer php hataları yapmak gibi) meydana sayfa ve satır sayısını belirtmek istiyorum nerede hatırlamıyorum. Bunu yapmak için bir yolu var mı?

Teşekkürler!

5 Cevap

Sen magic constants. içine bakmalı

echo __LINE__; // Line number

Ayrıca error_log() günlüğüne sessizce hataları göndermek için çalıştırabilirsiniz.

Ben bir E_USER_ERROR veya E_USER_WARNING oluşturmak için trigger_error() kullanmak gerektiğini düşünüyorum. Bu ayrıntılı davranışını kontrol etmenizi sağlar. S açıkça kullanarak set_error_handler (): Örneğin E_USER_WARNING mesajlar error_reporting() kullanılarak tüm gösterilmesi gerektiğini belirtmek, ya da işleyebilir.

Basit yolu kullanmaktır:

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

Eğer PHP5 kullanmak olsaydı, siz de İstisnalar kullanabilirsiniz:

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

Yığın izleme bütün çağrı yığını ve bu konuda atılmış bir çizgi ortaya çıkaracaktır.

(EDIT: teşekkürler [John Isaacs @] ve [Emil H @] İstisnalar PHP5'ta kadar PHP eklenen olmadığını beni bilgilendirdiğiniz için)

@ Jukka Dahlbom ve Ólafur Waage önerileri @ yanı sıra aynı zamanda debug_backtrace() kullanmayı düşünebilirsiniz.

Iyi kullanılması error_log() to report an error and debug_backtrace() for debugging. You could also write your own error handling function (see set_error_handler() ) hem de birleştirmek için.