aboutsummaryrefslogtreecommitdiff
path: root/tests/i/caught-errors/program.cps
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.one>2026-10-16 20:53:52 +0800
committer_ov4 <ov4@ov4.one>2026-10-16 20:53:52 +0800
commit5c00b8cd03cbfc516cce92229f3f4974d7549c24 (patch)
tree9d13c180dc345b3e27d241ac56de2aef99dea739 /tests/i/caught-errors/program.cps
parent1db81d50e8c664d0707491699485cfb23a0b5907 (diff)
test(compiler): cover fixed CIE behavior and runtime boundaries
Record independently traced outputs with pending human review. Keep standard syntax and naming conflicts as real failures. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'tests/i/caught-errors/program.cps')
-rw-r--r--tests/i/caught-errors/program.cps31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/i/caught-errors/program.cps b/tests/i/caught-errors/program.cps
new file mode 100644
index 0000000..919696b
--- /dev/null
+++ b/tests/i/caught-errors/program.cps
@@ -0,0 +1,31 @@
+DECLARE X : INTEGER
+DECLARE Values : ARRAY[1:1] OF INTEGER
+TYPE IntPtr = ^INTEGER
+DECLARE P : IntPtr
+X <- 0
+TRY
+ OUTPUT 4 DIV X
+CATCH
+ OUTPUT "division caught"
+ENDTRY
+TRY
+ OUTPUT Values[2]
+CATCH
+ OUTPUT "bounds caught"
+ENDTRY
+TRY
+ OUTPUT P^
+CATCH
+ OUTPUT "pointer caught"
+ENDTRY
+TRY
+ CLOSEFILE "closed.txt"
+CATCH
+ OUTPUT "file caught"
+ENDTRY
+TRY
+ THROW
+CATCH
+ OUTPUT "throw caught"
+ENDTRY
+OUTPUT "alive"