- die() yöntemini kullanma
- Özel hata işleme
die ($message)Örnek:< /b>
// Varsayılan hata işlemeyi gösteren PHP kodu
$file
=
fopen
(
"engineer.txt"
,
"w"
);
?>
Not.Yukarıdaki kodu çalıştırın ve engineer.txt dosyası eksik , ve ardından bir çalışma zamanı hatası görüntülenecektir.Çalışma Zamanı Hatası:
PHP Uyarı: fopen (engineer.txt): akış açılamadı: /home/dac923dff0a2558b37ba742613273073.php içinde izin reddedildi 2. satırdaBu hatayı önlemek için die() işlevini kullanın. die() işlevi aşağıda uygulanmaktadır:Örnek:
// Hataları kontrol etmek için PHP kodu
// dosya yoksa
// sonra komut dosyasından çıkın
if
(!
file_exists
(
"engineer.txt"
)) {
die
(
" Dosya yok "
);
}
// dosya varsa
// sonra devam edin
else
{
$file
=
fopen
(
"engine.txt "
,
" w "
);
}
?>
Not.Dosya mühendis ise .txt eksik, çıktıyı gösterecek.
ÇıkışDosya mevcut değil
Özel hata işleyiciler:Özel oluşturma PHP`de hata işleyicisi çok kolaydır. PHP`de bir hata oluştuğunda çağrılabilecek bir işlev oluşturun.Sözdizimi:error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
Parametreler:Bu fonksiyon, yukarıda ve aşağıda açıklandığı gibi beş parametre alır:- $error_level: Bu gerekli bir parametredir ve bir tamsayı olmalıdır. Önceden tanımlanmış hata seviyeleri vardır.
- $error_message:Bu gerekli bir parametredir ve kullanıcının yazdırmak istediği mesaj budur.
- $ error_file: hatanın oluştuğu dosyayı belirtmek için kullanılan isteğe bağlı bir parametredir.
- $hata_line:hatanın bulunduğu satır numarasını belirtmek için kullanılan isteğe bağlı bir parametredir. olmuş.
- $error_context:Bu, bir hata oluştuğunda her bir değişkeni ve değerlerini içeren bir diziyi belirtmek için kullanılan isteğe bağlı bir parametredir.
error_level:bunlar, aşağıda listelenen olası hata seviyeleridir:- 1: .E_ERROR: önemli çalışma zamanı hatası durduruldu
- 2: E_WARNING: non- önemli çalışma zamanı hatası, komut dosyası yürütme durduruldu
- 4: E_PARSE: ayrıştırıcı tarafından oluşturulan derleme zamanı hatası
- 8: E_NOT ICE: komut dosyası hata olabilecek bir şeyle karşılaştı
- 16: E_CORE_ERROR: komut dosyasının ilk çalıştırması sırasında meydana gelen önemli hatalar
- 32: E_CORE_WARNING: ilk komut dosyasının çalıştırılması sırasında meydana gelen önemli olmayan hatalar
- 8191: E_ALL: tüm hatalar ve uyarılar
set_error_handler() işlevi:myerror() işlevini oluşturduktan sonra, özel bir işleyici hataları yüklemeniz gerekir, çünkü PHP normalde onu yönetir, ancak kullanıcı özel hata işleme yapıyorsa, kullanıcı bunu bir argüman yerine ayarlamalı ve myerror işlevini bir dize olarak iletin.Örnek:
// Mesajı yazdıran hata fonksiyonumu oluştur
// user
fonksiyonu
hatam (
$hata_no
,
$hata_msg
) {
echo
"Hata: [$error_no] $error_msg"
;
eko
"Artık Komut Dosyası sona erecek "
;
// Bir hata oluşursa, komut dosyası durdurulmalı
öl
();
}
// ayar set_error_handler
set_error_handler (
"myerror"
);
$a
= 10;
$b
= 0;
// Bu hata oluştur
eko
(
$a
/
$b
) ;;
?>
Çıktı:Hata: [2] Bölüm b y sıfır Şimdi Komut Dosyası sona erecek
Çıktı:her zaman özel hata işlemeyi kullanarak hataları işlemeye çalışın çünkü kullanıcıya göre daha spesifik bir mesaj gösterecektir ve bu kullanıcı için faydalı olabilir. Hata, özel hata işleme ile çözülmezse, bir hata oluşur, komut dosyası varsayılan olarak durdurulur, ancak hatayı özel hata işleme ile ele alırsa, hata mesajını görüntüledikten sonra komut dosyasına devam edebilir.