Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder ApplicationEvents Nesnesi İle Exception Yakalama


ApplicationEvents Nesnesi İle Exception Yakalama

AÇIKLAMA

C++ Builder 6 projesidir.

Exception (Hata) yakalama bir programcının bir programı yazarken dikkat etmesi gereken en önemli hususlardan biridir. Bizde bilinen en basit örneği aldık herhangi bir sayıyı 0'a bölmeyi. Hepimiz bilirizki bir sayı 0'a bölünmez ve program debugger yardımıyla bir hata uyarı verecektir. Tabi verilen bu hata uyarısı bir programcı açısından anlaşılabilir olmasına rağmen kullanıcı tarafından tamamen bir arapsaçı olabilir yani kullanıcı o hatadan hiçbirşey anlamayabilir hatta programın hata yaptığını düşünüp (hatalı giriş yapsa bile 0 örneği gibi) sizi bile suçlayabilir. Örnek başka bir durum belirteyim. Örneğin bir veritabanı uygulaması yazıyorsunuz ve programınızında bir veritabanı serverina bağlandığını düşünelim. Kendi yazdığınız uygulamanın kusursuz olduğunu varsayalım hiçbir hata yok süper program çalışıyor. Peki ama ya sattığınız ve bir noktaya yerleştirdiğiniz uygulamanızın veritabanı serverinin çalışmaması sebebiyle (MySQL, SQL Server veya Oracle veritabanı serveri devre dışı kaldı)ona bağlanamadığını düşünelim. Kusursuz yazdığınız uygulama hata mesajı verecektir ve kullanıcı şaşıracaktır ve sizi arayacaktır, belkide sizi suçlayacaktır yada size ulaşamayıp zaman kaybedecektir hepsi bir problem. Oysaki yapmanız gereken şey kodunuzda bulunan kullanıcı bazlı veya belirttiğim özel durumları iyi analiz edip onlara uygun düzgün hata mesajları oluşturarak kullanıcıyı rahatlattırmaktır. 

En önemli noktaya gelirsek yazdığımız Exception yakalama kodlarını programı derleyip oluşturduktan sonra çalışan exe üzerine denemeyiniz. Çünkü derleyici devrede olduğundan kendi dilinde olan hata mesajını yine üretecektir. Tekrar F9 tuşuna bastığınızda sizin yazdığınız hata mesajı gelecektir. Hemen paniğe kapılmayın doğru yaptınız. Çünkü asıl yapmanız gereken sadece exeden programı çalıştırmaktır. Derleyici (C++ Builder üzerindenl) ile  değil gidip direk oluşan exe yi çift tıklayarak çalıştırdığınızda ve uygun hata durumu oluşturduğunuzda derleyici tarafından oluşturulan exception yerine sizin oluşturduğunuz hata mesajı gelecektir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm1::TForm1(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18. void __fastcall TForm1::BitBtn1Click(TObject *Sender)
  19. {
  20. int a=5;
  21. int b=0;
  22. Form1->Caption=FloatToStr(a/b);
  23. }
  24. //---------------------------------------------------------------------------
  25.  
  26. void __fastcall TForm1::ApplicationEvents1Exception(TObject *Sender,
  27.       Exception *E)
  28. {
  29. ShowMessage("Hata Mesajı:"+E->ClassName()+"  Hata Açıklaması:"+E->Message);        
  30. }
  31. //---------------------------------------------------------------------------
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Salı, 30 Ağustos 2011 01:03 )