veri tabanından Gelen Hataları Nasıl Yakalayacaz?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
veri tabanından Gelen Hataları Nasıl Yakalayacaz?
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.
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
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
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;
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
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
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;
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;