Error Handler yazımı

Başlatan bunalmis, 18 Haziran 2005, 18:18:29

z

Integer değişkenime strtoint komutu ile bir string'in karşılığı olan sayısal değeri atıyorum.

String içeriği sayı, integer alana sığmayacak kadar büyükse sistem hata mesajı vermesin  kendi mesajımı vereyim istiyorum.

try exception komutları bu işe yarıyor galiba ama ben beceremedim.

inttostr de oluşabilecek  hata için bir örnek kod yazabilirmisiniz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

SpeedyX

   try
      intDegisken:=strtoint(strDegisken)
    except
      on E:Exception do
        raise Exception.Create('bu iş olmadı');
    end;

yada, raise'den sonra ne yazarsan...

z

Hocam sağolasın

Peki hiç hata mesajı çıkmasın ok tuşunu tıklamayalım istersek bunun da çözümü varmı?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

SpeedyX

Bahsettiğin bu ise bu şekilde boş geçiyor sanırım.
   try
      intDegisken:=strtoint(strDegisken)
    except
      on E:Exception do
        raise ;
    end;

z

Yok olmadı gene hata kutucugunu çıkartıyor ve tuşa basmamız gerekiyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

SpeedyX

Denemeden vermiştim o kodu. bu çalışıyor. yani hata vermeden boş geçiyor. asp de "on error resume next" gibi:
   try
      intDegisken:=strtoint(strDegisken)
    except
      // boş burası.
    end;

z

Evet şimdi tam istediğim gibi oldu.

Bu arada bir açıklama yapayım. Delphi içinden programınızı RUN ederseniz yukarıdaki kod olsa bile hata mesajı çıkıyor ve OK butonuna basıp kutuyu kaldırmanız gerekiyor.

Bu bana çok vakit kaybettirdi. Halbuki programınızı derleyip exe'sini çalıştırırsanız hatalar ekrana çıkmıyor.

Belki compilerda bir yerlerden bu özellik kaldırılabiliyordur ama başınıza gelirse kodlarıınzda benim gibi boşu boşuna hata aramayın.

Tekrar teşekkürler Speedyx.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com