PHP istisna yönetimi

[KRSOL=https://forum.mevsim.org/makale/phpdataobjects.jpg]PHP istisna yönetimi[/KRSOL]
PHP’de bir uygulamada bir çok koşulu kontrol edeceğimiz zaman onlarca if kullanmak bayabilir. Bu tip baygınlıklardan kurtulmak için şimdi istisna yönetimini anlatacağım.
İstisna kullanırken de illa ki yine if kullanacağız ama bu sefer biraz daha kontrollü ve ideal olacak. Olası fatal error (ölümcül hata) uyarılardan biraz daha kurtaracaktır.
Kullanımı basit ve örnekle anlaşılabilecek gibidir. O yüzden hemen bir örnek ile size tasvir etmek istiyorum:
Kod:
try{
   $param = 100;
   $harcamam = 150;
   if($harcamam > $param)
   throw new Exception("Paramız harcamaya yetmiyor!");
} catch(Exception $e) {
      echo $e->getMessage();
}
Burada try ifadesi içerisine yazdığımız kod bloğunda eğer bir istisna tetiklenirse kod bloğundaki çalışmayı durdurup ekrana bu mesajı yazacaktır. Ve sonrasında diğer kodları çalıştırmaya devam edecektir.
Kısa ve öz bir biçimde anlattık, bu nedenle son bir örnek daha göstermek istiyorum:
Kod:
function hata($mesaj) {
   throw new Exception($mesaj);
}
 
try{
   $x = 10;
   $y = 0;
   if($y == 0) hata('Sıfıra bölünmez!');
   echo 'Bölme işlemi sonucu: ' . $x/$y;
} catch(Exception $e) {
      echo $e->getMessage();
}
 
echo 'Selam Dünya';
Burada try içerisindeki istisna uyguladığımız kod bloğu bir hatayı tetiklediğimiz için duracak sonrasında kod bloğu dışında yer alan kodumuz çalışmaya devam edecektir.
 
Üst
Alt