Exception



  • Servus!

    Ich hab gerade damit angefangen, unterm BCB5 den Umgang mit
    Exceptions zu üben, da ich diese nur von Java her kenne.

    Jetzt ergibt sich für mich allerdings das folgende Problem:
    Ich hab mir den Code für eine Beispielkonsolenanwendung in der mit Exceptions
    gearbeitet wird in ein neues Projekt kopiert.
    ==>das sind die folgenden Zeilen:

    #include <stdio.h>
    bool pass;
    class Out{};
    void festival(bool firsttime){ if(firsttime) throw Out(); }
    int main()
    {
      try          { pass = true; festival(true); }
      catch(Out& e){ pass = false;             }
      return pass ? (puts("luck"),0) : (puts("duck"),1);
    }
    

    Normalerweise müsste doch jetzt in der Konsole "duck" ausgegeben werden!
    Passiert aber nicht!
    Der BCB gibt mir statt dessen eine MessageBox aus in der er mich darauf
    hinweist, dass eine Exception vom Typ Out geworfen und dass der
    Prozess angehalten wurde. In der Konsole taucht aber keine Ausgabe auf!

    Weiss jemand von euch, der schon länger mit dem BCB arbeitet, vielleicht,
    warum er die Exception nicht so behandelt, wie ich es gerne hätte?

    Schon jetzt vielen Dank für eure Hilfe!

    Grüße,
    TS++



  • hi, der bcb feuert standardmäßig immer ne messagebox raus auch wenn die Exception gecatcht wurde wenn das prog in der ide gestartet wurde (wenn man die exe startet kommt die messagebox nicht)..man muß wenn die exception fliegt wieder auf play drücken um das Prog fortzusetzen...dann wird auch "duck" ausgegeben werden (wahrscheinlich siehst du es nur nicht, weil die Konsole schon wieder zu is, bevor du es gelesen hast..also mach noch'n getchar() hintendran)



  • Danke für den Tipp! 😃
    Funktioniert tatsächlich!

    Grüße,
    TS++


Anmelden zum Antworten