Catch und try Problem



  • Hi leutz ich versuche eine Try/catch Fehlerabrage nur funzt es nicht das heißt der Fehler wird nicht abgefangen.Den Fehler den ich abfangen möchte ist das in ein Edit feld worin Zahlen gehören keine Buchstaben oder Operatoren eingetragen werden sollen. Wenn der Fehler erkannt wird soll eine Message"Wert ungültig" erscheinen. So das zur Erklärung worums überhaput geht

    double x,y,z,l;
    //bool allright=true;
    
            if ((Edit1->Text.IsEmpty()) ||
                (Edit2->Text.IsEmpty()) ||         //Prüfen ob was Wichtiges leer ist
                (Edit3->Text.IsEmpty()))
            {
                    ShowMessage("Alle Werte werden gebraucht!"); //Fehlerausgabe: wenn was leer
                  // allright = false;
            }else{
            try{
            x=Edit1->Text.ToDouble();      //Wertübernahme des x-Werts
            y=Edit2->Text.ToDouble();    //Wertübernahme des y-Werts
            z=Edit3->Text.ToDouble();               //Wertübernahme des z-Werts
    
             l= sqrt((pow(x,2))+(pow(y,2))+(pow(z,2)));
             ErgebnisL->Caption=FloatToStrF(l, ffNumber, 10,2)+ " ist die Länge l";//Ausgabe der Länge
             allright=false;
    
            }
             catch (EConvertError &error1){
                            //allright=false;
                            ShowMessage("Die Werte sind ungültig.");    //Fehler: wenn Werte ungültig.
                                           }
            }
    


  • Und was genau ist jetzt dein Problem (von der furchtbaren Formatierung des Codes einmal abgesehen)? Wird keine Exception geworfen?



  • ähh ups nein das Problem ist ein anderes. Im Borland Builder zeigt mir nach dem Compilieren und fehler verursachen die MEssage"Werte ungültig" nicht an sondern Debugger Exception Notification "blablabal EConvertError with message "x' is not a valid floating point blabla. Wenn ich die exe nutze kommt die Meldung "Werte undgültig". Wo muss ich einen Haken rein bzw raus machen damit mir die Message gezeigt wird statt der normalen Meldung Debugger Exception Notification.



  • Blablabla? Es wäre hilfreich, wenn du das Problem in aller Ruhe schildern könntest. Mal abgesehen davon, dass es für den Builder ein eigenes Unterforum gibt...



  • Die Debugger Exception Notification kannst du selektiv, also für einzelne Exception-Typen, im Menu unter Tools|Optionen|Debugger-Optionen deaktivieren.


Anmelden zum Antworten