Exception Handling Problem



  • hoi,
    folgendes: ich versuche gerade ein exception handling für den fall zu bauen, das keine verbindung zur MySQL-Datenbank aufgebaut werden kann (benutze MySQL++) ... nun hab ich ein problem. folgender code:

    Connection sql_con(use_exceptions);
    bool terprog = FALSE;
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
      try{
      sql_con.connect("grempelz","localhost","root","");
      }catch (...){terprog = TRUE;}
    }
    
    ...
    
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
      if (terprog == TRUE)
      {
        Timer_1sec->Enabled = FALSE;
        if (Application->MessageBox("Ausnahmefehler. Eine Verbindung zur Datenbank konnte nicht hergestellt werden!","Ausnahmefehler",MB_OK | MB_ICONSTOP) == IDOK)
        {
          exit(0);
        }
    

    nyo wenn die mysql-db erreichbar ist auch kein problem. wenn sie allerdings nicht erreichbar ist kommt
    "Abnormal Program termination"
    Klick auf OK
    "Fehler in der Anwendung - Der Vorgang 'read' konnte nicht auf dem Speicher durchgeführt werden"
    statt des gewünschten handlings ... warum?

    thx bw



  • Also es ist schon eine Weile her, aber ich habe mir abgewöhnt den Konstruktor und! FormCreate gleichzeitig zu verwenden. Das hat nur Probleme gegeben. Ich verwende nur noch den Konstruktor. Ich glaube das hatte damals etwas mit der zeitlichen Reihenfolge zu tun.


  • Mod

    Hallo

    verwendest du moeglicher weise irgendwas wie FormDestroy ....
    wo noch irgendwas gemacht wird

    - in FormCreate exit zu machen ist nicht gut
    - exit wuerde ich ganz weglassen ->Appication->Terminate()
    😞

    MfG
    Klaus


Anmelden zum Antworten