Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

Phpde Exception İstisna Yönetimi

Phpde istisna kontrol ve yönetimi

Exceptions – İstisnalar

Istisnalar, PHP 5’te yeni ve önemli bir özelliktir. İstisnalar hata yönetiminin genişletilebilir, bakımı yapılabilir ve nesne yönelimli bir şekilde gerçekleştirilebilmesini mümkün kılan bütünleşik bir mekanizma sağlar.

Istisna yönetiminin temelini, try adındaki bir bloğun içinde yer alan ve çalıştırılan kod oluşturur.

try
{
        //işlevler
}
 
 
Eğer try bloğunda herhangi bir sorun çıkarsa istisna fırlatma denilen işlemin uygulanmasını sağlayabilirsiniz. Java gibi bazı diller belirli durumlarda sizing yerinize otomatik olarak istisna fırlatır. Php’de bu işlem elle yapılması gerekir. Istisna fırlatma işlemi şu şekilde yapılır;
Throw new Exception('mesaj',istisna kodu);
 

Istisna yönetimi mekanizmasını throw anahtar sözcüğü tetikler.Bütün bunlara ek olarak try bloğunuzu anltında en az bir catch bloğu kullanmanız gerekir.

catch(tip exception)
{
        //istisna yönetimi
}
 

Tek bir try bloğuyla ilişkilendirilen birden fazla catch bloğu olabilir. Eğer her bir catch bloğu farklı tipte bir istisna yakalayacaksa, birden fazla blok kullanılabilir. Örneğin exception sınıfının istisnalarını yakalamak isterseniz; 
catch(Exception $e)
{
        //işlemler
}
 
 

Exception örneği

<?php
function foo($x) {
    if ($x==0) {
        throw new Exception('Sıfıra bölünme hatası.');
    }
    else return 1/$x;
}

try {
    echo foo(5) . "n";
    echo foo(0) . "n";
} catch (Exception $e) {
    echo 'İstisnai durum söz konusu: ',  $e->getMessage(), "n";
}

// Continue execution
echo 'merhaba dünya';
?>
 
 

Örnekte foo isimli bir fonksiyon bir parametre ile tanımlanmış. Fonksiyon içerisindeki koşul yapısı $x değişkeninin sıfıra eşit olup olmadığını kontrol ediyor ve eşit ise bir istisna fırlatıyor.

 

Kodun devamında, tanımlanan bu fonksiyon iki ayrı değerle çağırılmakta. Bu işlemler try bloğu içerisinde tanımlanmış, devamında gelen catch bloğu ise oluşacak istisnaları yakalayacaktır. Ikinci fonksiyon çağrısına gönderilen değer sıfır olduğu için fonksiyon istisna fırlatacak ve catch bloğu tarafından yakalanacaktır.

 

Örneğin çıktısı ise;

0.2
İstisnai durum söz konusu: Sıfıra bölünme hatası.
Merhaba dünya

şeklindedir.

 

Exception sınıfında tanımlı hazır işlevler

getCode() exception yapılandırıcısına girilen ikinci parametre olan hata kodunu döndürür
getMessage() exception yapılandırıcısına girilen birinci parametre olan hata mesajın döndürür
getFile() istisnanın fırlatıldığı kod dosyasına giden tam yolu döndürür
getLine() kod dosyasındaki istisnanın fırlatıldığı satırın numarasını döndürür

Kaynak: Baturay Daylak

Bu içerikle ilgili Yorumunuzu eklemek için burayı tıklayınız.

Yorumlar

3 yorum
20 Nisan 2010 12:06:46, Salı
asdasd
kural dışı durumların yönetimi olarakmı geçiyor bu ya anlamadım ?
21 Ocak 2011 14:00:35, Cuma
ibrahim
Açıklamanız kısa ve öz olmuş teşekür ederim
21 Ocak 2011 14:10:15, Cuma
ibrahim
if in else yapısına benziyor ama neden buna gerek duyulsun

Php Dersleri

Xampp Kurulumu
Php,apache,mysql hepsini tek dosyayla kurulumu
Xampp Kurulumu
Xampp apache, mysql, php ve phpmyadmin için kolay ve basit kurulum sağlayan bir uygulamadır.
PHP kurulumu
Windows 7 Üzerine Apache, Mysql, Php ve NetBeans Kurulumu (WAMP)
PHP nedir?
HTML kodlarının arasına yerleştirilmiş php kodlarından ayrıştırıp işleyerek sonuçta saf HTML formatı...
Verileri doğrulamak için PHP ile filtreleme işleml...
Ziyaretçilerden gelen verilerin istediğimiz formata uygunluğunu kontrol etmeliyiz ki, güvenlik açığı...
Php Mysql to XML
Bu yapıyı geliştirerek mysql veritabanınızdaki datalarınızı xml standartlarına dönüştürebilirsiniz.
Utf8 İle Iso-8859-9 Dönüştürmek
Bu işlemde php nin mb_convert_encoding fonksiyonunu kullanıyoruz.
Php5 İle Xml Dosya Oluşturmak
İngilizce bir makaledir.
Php4 İle Xml Dosya Oluşturmak
İngilizce bir makaledir.
Php İle Excel Dosyası Oluşturmak
Genelde, herhangi bir biçimlendirme söz konusu olmadığında, veritabanındaki bir bilgiyi ya da başka ...
Curl(client Url Library Functions) Nedir?
Curl ile kullanıcı kontrolü nasıl yapılır?
Harici Dosya İnclude
İnclude kullanımı ve örnekler
Class İçerisinden Class Tanımlamak
İç içe klaslar oluşturmak
Php Regular Expression
İngilizce bir makaledir.
Mysql_fetch_object, Mysql_fetch_array, Mysql_fetch...
Mysql_fetch_object, mysql_fetch_array, mysql_fetch_row, mysql_fetch_assoc, mysql_result kullanımı...
Php İle Mysql Veritabanından Bilgi Çekme
Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları
Mysql İle Veritabanı Bağlantı Fonksiyonları
Mysql_result, mysql_fetch_array, mysql_fetch_row, mysql_fetch_object
Excepiton
Exception türkçe anlamı istisna olan kelimedir. İstisnalar php'de hata yönetimini kolay, genişletile...
Karar Kontrol Mekanizması
Php 5 ile gelen yeniliklerin başında hata kontrol mekanizmasında yapılan yenilik gelmektedir. Php 4'...
En iyi 25 php template motoru
Php tabanlı web siteleri dizayn ederken, php kodlarını html kodlar arasına gömeriz. Fakat gün gel...
WinBinder İncelenmesi
WinBinder indirmek ve yüklemek , WinBinder Yapısı Hakkında Bilgiler , WinBinder Örnekleri , WinBinde...
Oop - Nesne Yönelimli Programlama
Artık ister istemez her programcının bulaştığı bu teknik hakkında sayısız makale yazılmıştır bu güne...
Nesneye Yönelimli Php
Classlarla ilgili ingilizce bir makale
Basit Class Yapılarında Kullanılan Kelimeler
New, ::, __construct, __autoload kullanımları
Classlarda Kullanılan Özel Kelimeler
Public, private, protected, extends, _construct
$_sessıon
$_sessıon[] değişkeni o anki oturumla ilgili olan değişkenleri tutmakta görevli olan varsayılan olar...
  • 1
  • 2

Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
www.dijitalders.com

bilgidijitalders.com
Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | www.dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
Bu site 845,391 kişi tarafından ziyaret edilmiştir.