aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-13 14:57:17 +0000
committer_ov4 <ov4@ov4.org>2026-10-13 14:57:17 +0000
commit0e83581ed907aee1f6e59524c7d28b6f9c016f8e (patch)
treee7d12834f24e2db53953eff552ff3a1e0e5c23c9 /README.md
parenta484f314b719aec5ed7bdc6f08403342b2125561 (diff)
docs(language): document exception handling and runtime behavior
Add the TRY manual for CATCH, ENDTRY, and anonymous THROW. Update runtime error descriptions, language links, and native linking examples; document catch cleanup and embedded runtime integration in the architecture notes. Verify manual generation, rendered output, relative links, and the TRY example. Record Linux LLVM 18 validation and unverified Windows/macOS support. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7eb5737..5895679 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,8 @@ Details can be found here: [Pseudocode Guide for Teachers](https://www.cambridge
## Features
- **LLVM compilation**: Generate LLVM IR and run programs when execution is enabled in the build.
-- **Runtime checks**: Report array bounds errors, division by zero, file misuse, enum range errors and null pointer dereferences.
+- **Runtime checks**: Throw exceptions for array bounds errors, division by zero, file misuse, enum range errors and null pointer dereferences.
+- **Exception handling**: Catch exceptions with stack unwinding using the compiler extensions [TRY/CATCH/ENDTRY and THROW](doc/language/keyword/cpsc-keyword-try.7.md).
- **Arrays**: Support multiple dimensions and custom lower and upper bounds.
- **Strings**: Support dynamic strings and built-in string functions.
- **Functions and procedures**: Pass values, arrays and records by value; procedures also support `BYREF` parameters.