Skip to content

[Needs Verification] §13.2 rule 4 — bare raise; outside except: compile-time error or runtime condition? #49

Description

@NickHodges

Section: §13.2 rule 4

Current text:

A bare raise outside an except block is a compile-time error...

Problem:
This may actually be a runtime condition (undefined behavior / access violation when there is no current exception in flight) rather than something the compiler statically rejects. Not confident enough to assert either way without checking.

Why this needs compiler verification:
Compile a unit containing a bare raise; statement at a point with no enclosing except block and observe whether it fails to compile or compiles and fails at runtime when executed.

Suggested fix (pending verification):
Correct the rule to state the actual observed behavior (compile-time error vs. runtime access violation/undefined behavior).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationneeds-compiler-verificationClaim needs verification against the real Delphi compiler before fixing

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions