&reftitle.examples; Aşağıda, PHP hata işleme yeteneklerinin kullanımına ilişkin bir örneğe yer verilmiştir. Hataları işleme sokan işlevin iletilerinin (XML biçeminde) bir dosyaya yazılması; kodlama mantığıyla çelişen önemli hataların ise geliştiriciye eposta ile gönderilmesi sağlanmıştır. Bir betikte hataların yakalanıp işleme sokulması 'Hata', E_WARNING => 'Uyarı', E_PARSE => 'Çözümleme Hatası', E_NOTICE => 'Bilginize', E_CORE_ERROR => 'PHP Hatası', E_CORE_WARNING => 'PHP Uyarısı', E_COMPILE_ERROR => 'Derleme Hatası', E_COMPILE_WARNING => 'Derleme Uyarısı', E_USER_ERROR => 'Kullanıcı Hatası', E_USER_WARNING => 'Kullanıcı Uyarısı', E_USER_NOTICE => 'Kullanıcı Bildirimi', E_STRICT => 'Çalışma Anı Bildirimi', E_RECOVERABLE_ERROR => 'Yakalanabilir Ölümcül Hata' ); // Hataların oluşumunu izlemek için hataları bir değişkene kaydedelim $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "\n"; $err .= "\t" . $dt . "\n"; $err .= "\t" . $errno . "\n"; $err .= "\t" . $errortype[$errno] . "\n"; $err .= "\t" . $errmsg . "\n"; $err .= "\t" . $filename . "\n"; $err .= "\t" . $linenum . "\n"; if (in_array($errno, $user_errors)) { $err .= "\t" . wddx_serialize_value($vars, "Variables") . "\n"; } $err .= "\n\n"; // Denemek için: // echo $err; // Hatayı günlüğe kaydedelim ve önemliyse ayrıca bana postalayalım error_log($err, 3, "/usr/local/php4/error.log"); if ($errno == E_USER_ERROR) { mail("phpdev@example.com", "Critical User Error", $err); } } function distance($vect1, $vect2) { if (!is_array($vect1) || !is_array($vect2)) { trigger_error("Bağımsız değişkenler yanlış, dizi belirtilmesi bekleniyor", E_USER_ERROR); return NULL; } if (count($vect1) != count($vect2)) { trigger_error("Vektörlerin aynı boyutta olması gerekir", E_USER_ERROR); return NULL; } for ($i=0; $i ]]>