Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.01.2017, 18:48

TRY-EXCEPT funktioniert in fpc 3.0.0 nicht????

Hallo liebe Leute,

wie am Titel schon erkennbar, funktioniert der folgende Code nicht:

Quellcode

1
2
3
4
5
6
7
8
9
10
try
begin
  writeln('Anweisungen...');
  //Kann einen Wert nicht am eingegeben Index speichern und wirft EAccessViolation
end

except On EAccessViolation do
begin
   writeln('Anweisungen...');
end


Der "Except" -Block wird GARNICHT ausgeführt, wenn: SIGSEGV geworfen wird, also segmentation-fault

Weiß jemand, woran das liegen kann?? Ich bin super sprachlos... :/

Liebe Grüße

ProgFrog

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ProgFrog« (30.01.2017, 19:29)


Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

31.01.2017, 07:17

Basierend auf http://freepascal.org/docs-html/ref/refse112.html (Ich habe selber keine Ahnung von Pascal) würde ich sagen das begin und end im try sorgt dafür das der Exception Handler nicht als zugehörig interpretiert wird.

Ich würde es so schreiben:

Quellcode

1
2
3
4
5
6
try
  writeln('Anweisungen...');
  //Kann einen Wert nicht am eingegeben Index speichern und wirft EAccessViolation
except On EAccessViolation do
   writeln('Anweisungen...');
end

3

31.01.2017, 12:18

Danke erstmal für deine Antwort, aber leider hilft auch das nicht :/

Ich habe gehört, dass man try-except nur im Release-Mode von Lazarus/FPC verwenden kann, also das es funktioniert, werde ich gleich mal versuchen^^

Werbeanzeige