istisna kontrolü sırasında oluşan hata da devam nasıl olur

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

istisna kontrolü sırasında oluşan hata da devam nasıl olur

Mesaj gönderen delphist »

s.a.

İstisna kontrolünde exception da yakalanan hata dan sonra programın sağlıklı çalışması için tekrar programı nasıl sağlıklı çalıştırabiliriz yani o hatayı nasıl düzeltebiliriz manasında gibi mi desem tam anlatabilmişimdir umarım.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

try
//buraya hata cıkma olasılıgı olan kodlar
except
//buraya da hata cıkınca yapılması gerekenleri
end

bunun dısında yukardaki blok u try finally arasına alırsan finally end arasına mutlaka calısacak kodları atabilirsin
ÜŞENME,ERTELEME,VAZGEÇME
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Mesela Edit1 den kullanıcının sadece numeric değer girsin istiyorsun. Ancak Edit1 i sadece numeric (0-9 arası sayılar) girecek şekilde kodlamadın.

Edit1 değerini de Integer e çeviriyorsun ve programında kullanıyorsun.

Kod: Tümünü seç

try
  IntValue:= StrToInt(Edit1.Text);
except
  ShowMessage('Sayısal değer girmelisin');
  IntValue:= 1;
end;
Burada kullanıcı sayısal değer girmemişse bir çevrim hatası oluşacaktır. Biz bu hatayı yakaladık ve kullanıcıya bildirdik. Aynı zamanda programımız daha sonra bu değeri kullanıyorsa değere 1 vererek programın çatlamamasını sağladık. Yani bir nevi hatayı kurtarmış olduk.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
lordumuzun izniyle kodunda ufak bir değişiklik yaparak kullanıcının geçerli bir sayı girmesinide sağlayabiliriz. şöyleki

Kod: Tümünü seç

try
  IntValue:= StrToInt(Edit1.Text);
except
  ShowMessage('Sayısal değer girmelisin');
  IntValue:= 1;
  Edit1.SetFocus; //editi seçer
  Exit;//procedure veya function u sonlandırır
end;
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

aslangeri yazdı:lordumuzun izniyle ...
:)
Cevapla