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

Anasayfa Programlama C++ Builder Application OnException Uygulaması


Application OnException Uygulaması

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu programda Exception(öngülemeyen hatalar) kavramı üzerinde birçalışma yapılmıştır. Exceptionlar programcının kontrol etmediği veya olasılığını tam olarak hesaplayamadığı veya bir problem veya programla ilgili tüm durumları incelemediği yada eksik kaldığı noktalarda ortaya çıkan hatalardır. Bu hata ortaya çıktığında programın çalışması durur ve pek çoğumuzun gördüğü bize çok fazla bir anlam ifade etmeyen birçok sayısal ifade belirir yada ingilizce derleyicinin hata penceresi ortaya çıkar. Bu hatalar oldukça can sıkıcıdır ve son kullanıcıyı yani programı kullanan kişiyi çok kötü etkiler programınız hakkında olumsuz etkilere yöneltir. İşte bu tür durumları önlemek amacıyla Exception yakalama kavramı ortaya çıkmıştır aşağıdaki örnekte C++ Builder üzerinde Exception yakalama ve uygun hata penceresi üretme örneği gösterilmiştir. Örnek olarak iki adet sayıyı birbirine bölen program yazılmıştır fakat matematikten bilmemiz gerekir ki bölen asla 0 olamaz. İşte bu durumu kontrol etmez isek eğer kullanıcı da bölen olarak 0 girerse program Exception (fırlatacak) üretecektir. İşte bu hataları kullanıcıya daha iyi yansıtmak amacıyla Exception yakalama ve gösterme örneği verilmiştir. Burada dikkat edilmesi gereken hususlardan sizin el yordamıyla yazdığınız void __fastcall TForm1::Hata(TObject *Sender,Exception *E)  fonksiyonu için Unit1.h dosyasında tanımlanmış fonksiyonların olduğu yere void __fastcall Hata(TObject *Sender,Exception *E); ifadesi girilmedilir.

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

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

Üye Kayıt

Program Kodu:

Unit1.cpp

  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::Button1Click(TObject *Sender)
  19. {
  20. int a=5;
  21. int b=0;
  22. ShowMessage(a/b);
  23. }
  24. //---------------------------------------------------------------------------
  25.  
  26. void __fastcall TForm1::FormCreate(TObject *Sender)
  27. {
  28. Application->OnException=Hata;
  29. }
  30. //---------------------------------------------------------------------------
  31. void __fastcall TForm1::Hata(TObject *Sender,Exception *E)
  32. {
  33. ShowMessage("Programda Bir Hata Oluştu");
  34. Application->ShowException(E);
  35. }
  36.  
  37.  
  38.  
  39.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazar, 02 Eylül 2012 23:51 )