Yapay hata

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

Yapay hata

Mesaj gönderen cozturk »

bazen hata mesajı verdirmem gerekiyor. Fakat asılsız mesajlar olacak. Gerçekten hata durumu olmayacak.

Örneğin bazen windows'un verdiği "sistem ciddi bir hatadan kurtarıldı" gibi orijinal şekilde windows tarafından verilecek .

ApplicationEvents> OnException
hata durumunda çalışan procedure .

Bunu istediğim zaman nasıl çalıştırabilirim.?

hata türünü nereye nasıl yazmalıyım? hata kodları nedir?
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

Merhabalar,

Bu işlem için sadece şunları yazman yeterli olacaktır. Mesela OutofMemory hatası için;

Kod: Tümünü seç

System.Error(reOutOfMemory);
Yazman yeterlidir. Aşağıdaki detaylı kod daha da işine yarayacaktır, kod içinde ayrıca üretebileceğin diğer hata kodlarınıda verdim. Kullanımda System.Error(hatakodu) diye bir şekil var, sizlerde aynı bu şekilde başına "system." ekini koyunuz.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  {
  ** Sitemde üretebileceğiniz hata mesaj kodlarıdır. **
  reNone
  reOutOfMemory
  reInvalidPtr
  reDivByZero
  reRangeError
  reIntOverflow
  reInvalidOp
  reZeroDivide
  reOverflow
  reUnderflow
  reInvalidCast
  reAccessViolation
  rePrivInstruction
  reControlBreak
  reStackOverflow
  reVarTypeCast
  reVarInvalidOp
  reVarDispatch
  reVarArrayCreate
  reVarNotArray
  reVarArrayBounds
  reAssertionFailed
  reExternalException
  reIntfCastError
  reSafeCallError
  }
  //Şimdi hata verdireceğim ve bu hatayı TRY..EXCEPT bloğu içinde
  //Yakalayacağım. Program crash olmasın diye.
  try
     //Sadece hata verdirmek için bu satır yeterlidir.
     System.Error(reOutOfMemory);
  except on e:exception do
     //aslında bu işlem için TRY-EXCEPT bloğuna gerek yok.
     //ama bir hata nasıl yakalanır diye merak edenlerede iyi bir
     //örnek olacağını düşünüyorum.
     ShowMessage('Bir Hata oluştu: ' + e.Message);
  end;

end;
Kolay gelsin..
Cevapla