veri tabanından Gelen Hataları Nasıl Yakalayacaz?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

veri tabanından Gelen Hataları Nasıl Yakalayacaz?

Mesaj gönderen spoke25 »

Aradım Arkadaşlar.. firebirde tanımladığımız exceptionları yakalayabilirmiyiz? yanii siz ne yapıyorsunuzn direk showmessage gibii cıkıyor ama ben onu daha duzenli olmasını istiyorum... Ne yapabilriz?
Başlayan Herşey Birgün Bitmek Zorundadır.
Kullanıcı avatarı
MakPRO
Üye
Mesajlar: 251
Kayıt: 31 Eki 2003 05:21
Konum: Antalya
İletişim:

Mesaj gönderen MakPRO »

mrb

Delphinin Tüm hataları yakalayabilmesi için kullandığı bir sistem var
Additional sekmesindeki ApplicationEvents . Bu componenti formuna bir memo ile koy ve events larda onException bölümüne

Kod: Tümünü seç

procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
  E: Exception);
begin
Memo1.Lines.Insert(0,DateTimeToStr(now) + ' ' + E.Message);
end;
yaz

uygulamandaki her hata direk olarak buraya kayıt edilecek . istersen bu uygulamayı kaydettir sonra incele istersen sana mail atacak bir şekilde düzenle kolay gelsin
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

s.a.

bende şöyle bir yöntem kullanıyorum

procedure TAnaform.ApplicationEventsException(Sender: TObject;
E: Exception);
begin
If Pos('This user does not have',e.Message)>0 tHEN
Showmessage('Bu işlem için yetkili değilsiniz...')//+#13+e.Message)
else
If (Pos('a closed dataset',e.Message)>0) or (Pos('DB is not open',e.Message)>0) tHEN
Showmessage('Dosya açık değil, işlem yapılamaz...')//+#13+e.Message)
else
If Pos('Transaction is not active',e.Message)>0 tHEN
Showmessage('Transaction aktif değil, işlem yapılamaz')//+#13+e.Message)
else
If Pos('Transaction not assigned',e.Message)>0 tHEN
Showmessage('Transaction seçimi yapılmamış : '+copy(e.Message,pos('for',e.Message)+3,length(e.Message)-pos('for',e.Message)))
Else
If Pos('unavailable database',e.Message)>0 tHEN
Showmessage('Firebird çalışmıyor, Veritabanı kullanılamıyor')//+#13+e.Message)
else
Showmessage(e.Message) ;
end;
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

Allah razı Olsun Sorunu sayenizde hallettim. Try expect ile halloldu..
Başlayan Herşey Birgün Bitmek Zorundadır.
Cevapla