OOP Delphi

{try..except}
var
i:integer;
begin
try
i:=strtoint(edit1.text);
i:=i * i;
showmessage('Karekökü :' + inttostr(i));
except
on HATA:EConvertError do
MessageDlg('Hata Oluştu.' +#13#13+ HATA.Message, mtWarning, [mbOK], 0);
end;
{Yukarıdaki örnekte hata oluşma olasılığı olan ilk yer dönüşüm noktasıdır
bu sebeple hata denetleme bloğu bu satırın üstünden başlamıştır.
try..except bloğunun genelyapısı şöyledir:
hata oluşan yerden itibaren kod hiçbir zaman çalıştırılmaz.
Direk oluşan hata size mesaj ile iletilir.
Bu örnekte Edit1'e sayı dışı bir giriş yapıldığında istisna oluşacaktır.
}
{try..finally}
var
i:real;
begin
try
i:=10 /0;
edit1.text := FloatToStr(i);
finally
MessageDlg('Hata Oluştu.', mtWarning, [mbOK], 0);
end;
MessageDlg('Hayat devam ediyor...', mtWarning, [mbOK], 0);
{
Yukarıdaki örnekte hata oluşacağı kesindir. sıfır dışında bir rakam
sıfıra bölünemez. bu durumda hata oluşsa bile kod işlemeye devam edecektir.
tabi hata oluştu mesajı gösterilecektir. bu mesajı iptal etme imkanınızda var.
öyle bir durum olurki hata oluşsa bile hiçbirşey olmamış gibi işe devam etmek ister
veya hiçbirşey çaktırmamak için finally ve end arasına mesaj vb.. yazmıyabilirsiniz.
}
{
SON SÖZ:
bu iki yöntemi kullanarak hata sonuçlarını delphi hata ilesi göstermeden
siz kendi uyarınızı devreye sokabilirsiniz. sonuç olarak kendi hata yakalama
mekanizmanızı kendiniz oluşturabilirsiniz. sonuç itibariyle siz bu blokları
kullanmasanız dahi delphi bütün projeyi otomatik olarak try ... except bloğu
arasına zaten alıyor...
}