Zum Inhalt springen

Borland Builder C++ 1.0 / 4.0: Bei Exceptions anhalten


Empfohlene Beiträge

Geschrieben

Hi, Leute!

Problem eines Neulings: :(

Ich arbeite mit einem Buch für den Borland C++ Builder 1

und der Software Borland C++ Builder 4.0

und bin bei

try { }

catch (...) { }

steckengeblieben.

Im Buch (für v1) steht, daß bei Verwendung von try/catch folgendes einzustellen ist, damit das Konstrukt greifen kann:

Optionen | Umgebung | Bei Exceptions anhalten (Deaktivieren)

Ich habe schon diverse Einstellungen in den Debugger-Optionen ausprobiert.

Ohne Erfolg: Es erscheint bei fehlerhaften Eingaben nach wie vor eine System-MessageBox mit einer Fehlermeldung.

Die vielen (mich überflutenden) Möglichkeiten in den Optionen sagen mir aber (noch) nichts.

Wo finde ich den entsprechende Einstellung in der v4? :confused:

Danke schon mal für Eure Hilfe!

Geschrieben

Hi, Klotzkopp!

Das ist ein weiteres Problem:

In C++ bin ich blutigster Anfänger. Aber ich gebe nicht auf!

Zu Deiner Frage: Ich glaube nicht (, daß der Excp.-Auslöser dort steht).

Es sieht sinngem. folgendermaßen aus:

-----

//Anfang

try

{

if (x == 1) lblAusgabe -> Caption = "sehr gut";

'u.s.w'

if (x == 6) lblAusgabe -> Caption = "ungenügend";

}

catch (...)

{

lblAusgabe -> Caption = "Falsche Eingabe";

}

//Ende

-----

(Der Code steht in der ButtonClick-Prozedur eines Buttons.)

Wenn ich es so bedenke kommt es ja zu keinem Fehler im try-Block.

Bei einer Eingabe kleiner 1 bzw. größer 6 ist zwar kein if erfüllt, aber: Dann eben nichts...

Ich habe das try/catch auch als ein "else" verstanden: Wenn nichts im try-Block ausgeführt wird, dann kommt der catch-Block.

-----

Aus:

"C++ für Kids", Hans-Georg Schumann, mitp-Verlag Bonn, 2. Auflage

S.92: "Ein bestimmter Abschnitt eines Programms wird (...) nur versuchsweise ausgeführt. Wenn es klappt, (...) gut. Wenn nicht, dann wird eine Aktion zur Fehlerbehandlung gestartet, die du selbst bestimmst."

-----

Ein zu behandelnder Fehler ist z.B. die Eingabe von Buchstaben. Und da hatte ich gedacht, try/catch ist für solche Fälle gedacht...

Wie komme ich weiter?

Geschrieben

try/catch kann nur dann funktionieren, wenn die Exception auch innerhalb des try-Blocks auftritt.

Wie sieht denn der Code für die Eingabe aus? Machst du irgendwelche Berechnungen?

Es wäre auch hilfreich, wenn du den genauen Text der Exception-Meldung postest. Das kann die Fehlersuche erleichtern.

Geschrieben

Hi, Klotzkopp!

Ich bin blind:

Natürlich habe ich die Zeile vergessen, in der einer int-Variable das Ergebnis einer Division zugewiesen wird. :rolleyes:

Das Problem hat sich auch erledigt. Ich habe den Sinn und Zweck der try/catch-Anweisung jetzt ebenso verstanden.

Ich mußte unter BBC++4.0 nur[/] folgendes deaktivieren:

Integrierte Fehlerbehandlung zulassen (o.ä.)

Dieser Threat kann geschlossen oder besser noch gelöscht werden...

Vielen Dank für Deine Hilfe!! :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...