Php

Php Try Catch (istisna) Yapıları ve Try Catch Kullanımı

Neredeyse tüm yazılım dillerinin, olmazsa, olmazlarından. Try catch kullanımını anlatacağım. Türkçe karşılığı, Deneyerek Yakalama veya yakalamaya çalışma gibi bir anlama geliyor ama anlatmanın en kısa yolu istisnai durumların olabileceği alanlarda hataları yakalamak diyebiliriz. 

İlk bakışta Php de bulunan if else yapısına benziyor gibi görünsede, tam olarak böyle değildir. Try cash yapısı gereği, bize daha doğru sonuçlar vererek, hata ayıklamamıza veya olası hatalarda, başka yollar izlememize olanak tanır.

 

Try cash çalışma mantığı, olası kod bloğu try{} içerisinde yer alır ve bir sorun ile karşılaşır ise koşul tamamlanmaz, Catch{} bloğuna gönderir. 

Oluşan hata Catch tarafından yorumlanır ve yapılması gereken bir işlem var ise hata durumunda, catch içerisinde yapılması gerekmektedir.

PHP ’de Try Catch Kullanım Örneği

 

Kod Bloğu 1 Olumsuz Sonuç

<?php
/*
        Örnek 1
        Sabit bir sayı if koşuluna sokulacak ve koşul olumsuz olacak. Olumsuz olan sonuç için ekrana bir hata mesajı basılacak.
 */

$birSayiGirin = 55;

try {

    if ( intval($birSayiGirin) > 5 )
        throw new exception(' Sayı istene küçük olursa bu hata mesajını bas<br> ');
    else
        echo '<b>Tebrikler, sorun yok. <br></b>';

} catch (Exception $hataMesaji) {
    echo "<b>Ups Hata Oluştı : </b>" . $hataMesaji->getMessage();
}

 

Kod Bloğu 2 Olumlu Sonuç

<?php
$adin = "Onur";
/*
        Örnek 2
        Sabit bir sayı if koşuluna sokulacak ve koşuş uyuşacak hata alınmayacak
 */

try {

    if ( $adin != "Onur" )
        throw new exception('Adın onur değilse hata alacaksın!<br>');
    else
        echo 'Tebrikler, Değer Onur<br>';

} catch (Exception $e) {
    echo "<b>Ups Hata Oluştı : </b>" . $e->getMessage();
}

 

Evet bu işin en basit anlatım ı bu. Kodun başında yazdık bir kaç örnek ile pekiştirelim, “Php Try Catch (istisna) Yapıları”, Nedir bu istisna?

Mesela bi servise bağlanıyorsunuz ve bi data alışverişi yapıyorsunuz. Servis 100 istekte belki 1 tanesine cevap veremeyecek duruma geliyor ve bu hatanın kaynağını öğrenmek istiyorsunuz, yada böyle bir ihtimal olabileceğini düşündüğünüz an kullanmanız gereken kod yapısıdır.

 

Biraz işinizi kolaylaştırmak için yukarıdaki kod bloğuna GitHub ve BitButcket den ulaşabilirsiniz