From 0e83581ed907aee1f6e59524c7d28b6f9c016f8e Mon Sep 17 00:00:00 2001 From: _ov4 Date: Tue, 13 Oct 2026 14:57:17 +0000 Subject: 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 --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'README.md') 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. -- cgit v1.3.1-4-g156e