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!! :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...