#include <vcl.h>
#pragma hdrstop
#include "Unit26.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  double x = 1.0;
  double y = 0.0;

  try
  {
    try
    {
      try
      {
        Application->MessageBox("Może wystąpić wyjątek",
                                "Uwaga 1", IDOK);
        double e = x / y;
      }
      __except(EXCEPTION_EXECUTE_HANDLER)
      {
        Application->MessageBox("Przechwytuję wyjątek",
                                "Uwaga 2", IDOK);

        throw(Exception("Błąd zmiennopozycyjnego dzielenia przez 0"));
      }
    }
    catch(...)
    {
      Application->MessageBox("Chciałeś dzielić przez zero?",
                               "Uwaga 3 ", IDOK);
    }
  }
  __finally
  {
     Application->MessageBox("Koniec obsługi wyjątku. "
                         "Możesz bezpiecznie zamknąć aplikację :)",
                         "Uwaga 4", IDOK);

  }
}
//---------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  double x = 1.0;
  double y = 0.0;

   try
   {
     double e = x/y;
   }
   catch(Exception &e)
     {
      if (e.Message == "EZeroDivide")
        Application->MessageBox("Chciałeś dzielić przez zero?",
                                 "Uwaga 1 ", IDOK);

     }
}
//---------------------------------------------------------------------------

