diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-13 14:57:17 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-13 14:57:17 +0000 |
| commit | 0e83581ed907aee1f6e59524c7d28b6f9c016f8e (patch) | |
| tree | e7d12834f24e2db53953eff552ff3a1e0e5c23c9 /README.md | |
| parent | a484f314b719aec5ed7bdc6f08403342b2125561 (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.md | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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. |
