Try-Catch blokları, programlama dillerinde hata yönetimi yapılabilmesini mümkün kılan kod öbekleridir. Tüm programlama dillerinde benzer şekilde kullanılırlar.
bkz: Java'da Try Catch Finally Kullanımı ve Örnekleri
Try-Catch hata ayıklama sistemlerinin çalışma mantığı şu şekildedir:
Try: Hata vermesi ihtimali bulunan kodlar try bloğu içinde yazılır. Herhangi bir hata gerçekleşmemesi durumunda kodlar sonuna kadar çalışır. Olası bir hata durumunda ise tamamlanamaz ve Catch bloğuna aktarılır.
Catch: Hata olması durumunda çalışan kod öbeği
Throw: Hatanın üretildiği kod
Finally: Hata olsa da olmasa da her türlü çalıştırılması istenen kod öbeği (isteğe bağlı olarak kullanılır)
Örnek 1: Hata üretmeyen bir kodda try bloğunun içindeki tüm kodların çalıştığı bir örnek hazırlayalım.
<?php
function sayiKontrol($sayi) {
if($sayi <= 0) {
throw new Exception("Bu işlem için pozitif bir değer kullanılmalıdır");
}
return true;
}
try {
sayiKontrol(2);
echo "Kod hatasız tamamlandı";
}
catch(Exception $e) {
echo 'Hata mesajı: ' .$e->getMessage();
}
?>
Çıktı: Kod hatasız tamamlandı
Örnek 2: negatif bir sayı kullanarak hata üretelim.
Hata mesajı: Bu işlem için pozitif bir değer kullanılmalıdır
Örnek 3: Aşağıdaki örnekte ise finally bloğu içinde her halükarda çalışacak bir kod öbeği bulunmaktadır.
<?php
function sayiKontrol($number) {
if($number == 0) {
throw new Exception("Bu işlem için sıfırdan farklı bir değer kullanılmalıdır");
}
return true;
}
try {
sayiKontrol(1);
echo "Kod hatasız tamamlandı";
}
catch(Exception $e) {
echo "Hata mesajı: " .$e->getMessage();
}
finally
{
echo "<br>";
echo "bu satır her türlü çalışacak";
}
?>
bkz: PHP ile ziyaretçinin IP adresini almak
bkz: PHP ile ziyaretçinin IP adresini almak
bkz: PHP'de iki yazıyı (string) birleştirmek
bkz: PHP'de Heredoc Nedir ve Nasıl Kullanılır?
bkz: PHP'de yazının (string) kelime sayısını bulmak
bkz: PHP'de bir yazının kaçıncı karakterde başladığını bulmak