Türk Konsol

Bir portal blog (Teknoloji,oyun,haber,programlama,internet konuları) sitesi.

Nisan 15th, 2011

Hata Kontrolü try Catch İlaç Gibi

Php, by sinan doğan.

Arkadaşlar geçenlerde bazı sitelerden veri çeken bir bot kullandım. Bot swf dosyalarının url sini ve resim dosyasını kaydediyordu. Aşağı yukarı 6000 adet sayfadan 6000 adet swf ve resim dosyaları çekmem lazımdı. Nitekim swf ve resim dosyalarının adreslerini çektim.
Kullanmaya başladım kısa bir süre sonra dedim ya arkadaş gel şu dosyaların yedeğini kendi bilgisayarına al.
Hadi bakalım sinan bir while döngüsüne copy() fonksiyonunu koy veritabanındaki tüm veri adreslerini bilgisayarına indir diye bir ses duydum :D

2 gün boyunca dosyalar indi, bilgisayar açıktı ama bir sorun vardı. Tüm dosyalar inmemişti bazılarına ulaşılamamıştı.

Hemen aklıma hata kontrolü geldi. try catch benim işimi görürdü ve gördü zaten.

Size yaptığımı veremeyeceğim ama try catch ile nasıl bir şey yapabiliriz bir örnek göstercem.

$gelen = "sinan";
 
try
{
    if (!is_int($gelen) )throw new Exception("sinan bir sayı değil");
}
catch (Exception $e)
{
echo "devam et, yada hata işlemi yap";

Burada $gelen değişkeni bir integer türünde sayımı ona bakıyoruz eğer değilse throw new Exception ile hatayı değişkene atıyoruz. Ve hata tam istediğimiz gibi düşüyor istesek $e->getMessage() ile hataya ulaşabiliriz demek istediğimi anladınız umarım.

$gelen = "sinan";
 
try
{
    if (!is_int($gelen) )throw new Exception("sinan bir sayı değil");
}
catch (Exception $e)
{
die("{$e->getMessage()}");
}

İşten bundan bahsediyorum, hata kontrolünü istediğimiz gibi yönetmek elimizde.
Gelelim ilk başta anlattığıma ben dosyalarını indirirken bu hata kontrolünü neden kullandım. Veritabanındaki tabloma hemen bir sutun açtım ve tekrar ismini verdim, varsayılanı da sıfır(0) yaptım. Daha sonra tekrar kodlarıma döndüm ve try catch koydum hataya düşenleri tekrar indirmesi için hataya düşenleri tekrar sutununu 1 ile update ettim. Böylece inmeyen dosyaları daha sonra tekrar indirmesi için bir döngü daha kullandım ve bu seferde inmeyenlerin tekrar sutununu 2 yaptım. Ve 2 gün bekledim dosyalarım indi, bundan başka da bir sorun yaşamadım.

Umarım try catch gibi php 5 in nimetlerinden faydalanırsınız.

Back Top

Responses to “Hata Kontrolü try Catch İlaç Gibi”

Comments (0) Trackbacks (1) Leave a comment Trackback url
  1. No comments yet.
  1. PHP Try Catch Olayı | orveg.net (,22 Eylül 2011)

    [...] için veritabanına 0 diye kaydetmiş tabi sonra alanı 0 olanları tekrardan indirmiş. Yazı burada işte bunun gibi istisnai durumlarda sizde kendinize göre fonksiyonlar yazıp sisteminize [...]

Bir Cevap Yazın