Çeşitli seçenekleri:
Suppress all errors for just this function call
@$doc->load('http://twitter.com/statuses/user_timeline/1234567890.rss');
aynı olduğu
$oldLevel = error_reporting(0);
$doc->load('http://twitter.com/statuses/user_timeline/1234567890.rss');
error_reporting($oldLevel);
Hata ayıklamak için kod zor yapar gibi baskılayıcı hataları bu şekilde genel olarak, hoş karşılanmaz. Şarapnel işaret gibi, yine bir üretim sistemi tüm hata mesajlarının kamu ekranı devre dışı bırakmak istiyorum. Dev sistemleri hakkında error_reporting(-1);
, which would enable E_ALL
ve E_STRICT
kullanımı teşvik edilmektedir.
Kullanmak try/catch
, you can also change default error handling ve yaparak istisnalar tüm hataları dönüştürmek istiyorsanız
function myErrorHandler($errno, $errstr, $errfile, $errline) {
throw new Exception($errstr, $errno);
}
set_error_handler("myErrorHandler");
Bu olsa bir küresel değişim ve kaldırdı her şeyi etkiler. Ayrıca kodu daha sonra catch(Exception $e)
yerine Zend_Exception
kullanımı olurdu, ama o iş olur. Yukarıdaki her şeyi, hatta Uyarıları dönüştürmek istiyorsunuz, böylece daha sonra bu erişmeye çalışıyorsanız siz de $isOk
tanımsız olma konusunda bir özel durum alacağınızı unutmayın. Beğeninize işleyicisi uyum ve daha rafine sürümleri a> user comments for set_error_handler
kontrol çekinmeyin.
Başka bir küresel değişim, uygulama klasöründe application.ini değiştirmek olacaktır, örneğin icar Zend Framework kontrolü hata işleme:
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
Ihtiyaçlarınıza bu değiştirin. Bunlar PHP.ini de aynıdır, örneğin
display_errors:
Bu hataları çıkış parçası olarak ekrana basılı olmalı ya da kullanıcıdan gizli olmalıdır eğer belirler.
display_startup_errors:
Display_errors olsa bile, PHP'nin başlatılırken oluşan hatalar gösterilmez. Bu güçlü hata ayıklama display_startup_errors uzak tutmak için tavsiye edilir.