SNOBOL4ERROR(1)
💖 SNOBOL4ERROR 💖
okay bestie, welcome to snobol4error, straight out of the CSNOBOL4 Manual — this is literally the master list of every SNOBOL4 error code, what it means, and whether it's the kind of error that ends your whole program or the kind you can catch and be cute about. no cap, this page is a lifesaver 🫶
✨ NAME ✨
snobol4error — SNOBOL4 error codes
🌸 SYNOPSIS 🌸
These are the values you'll see living in &ERRTYPE and &ERRTEXT. iykyk. 💅
okay so the important part first, because it's giving rules of the game:
Errors that are not marked (fatal) or (fatal-) cannot be caught or ignored by setting &ERRLIMIT. like, at all. they're just vibing past your handler. 😭
Errors marked (fatal-) can be caught by SETEXIT, but only if you set both &ERRLIMIT and &FATALLIMIT. the catch? they cannot be CONTINUEd. (this extension was added in CSNOBOL4 2.1.6, so if you're on something ancient, sorry babe ✨)
and now, the whole entire list, no skipping, every single one 👑
1— “Illegal data type”2— “Error in arithmetic operation”3— “Erroneous array or table reference”4— “Null string in illegal context”5— “Undefined function or operation”6— “Erroneous prototype”7— “Unknown keyword”8— “Variable not present where required”9— “Entry point of function not label”10— “Illegal argument to primitive function”11— “Reading error”12— “Illegal i/o unit”13— “Limit on defined data types exceeded”14— “Negative number in illegal context”15— “String overflow”16— “Overflow during pattern matching” (fatal).
See the -P option in snobol4cmd(1).
17— “Error in SNOBOL4 system” (fatal).
Various internal errors. 💀
18— “Return from level zero” (fatal).19— “Failure during goto evaluation” (fatal-).20— “Insufficient storage to continue” (fatal).
See the -d option in snobol4cmd(1).
21— “Stack overflow” (fatal).
See the -S option in snobol4cmd(1).
22— “Limit on statement execution exceeded” (fatal).23— “Object exceeds size limit” (fatal).24— “Undefined or erroneous goto” (fatal-).25— “Incorrect number of arguments” (fatal-).26— “Limit on compilation errors exceeded” (fatal).27— “Erroneous END statement” (fatal).28— “Execution of statement with compilation error” (fatal). Last error in standard SNOBOL4.29— “Erroneous INCLUDE statement” (fatal).30— “Cannot open INCLUDE file” (fatal).31— “Erroneous LINE statement” (fatal).32— “Missing END statement” (fatal).33— “Output error”34— “User interrupt”
Interrupt character (SIGINT) was recieved.
35— “Not in a SETEXIT handler” (fatal-).
Attempt to branch to CONTINUE, SCONTINUE, or ABORT when no unhandled error condition present
36— “Error in BLOCKS” (fatal).
Internal error.
37— “Too many warnings in BLOCKS” (fatal).38— “Mystery error in BLOCKS” (fatal).
Undocumented internal error. 🙈 truly the mystery flavor of errors
39— “Cannot CONTINUE from FATAL error” (fatal).
Attempt to branch to CONTINUE or SCONTINUE after a fatal- error condition.
heads up bestie: anything tagged (fatal) is a program's over, go home situation, and (fatal-) is the sneaky middle ground — catchable withSETEXITif you've set both&ERRLIMITand&FATALLIMIT, but noCONTINUEfor you. 💅
🌈 SEE ALSO 🌈
CSNOBOL4B 2.3.1 · March 31, 2022 — that's the version and the date this page was blessed into existence, and honestly? iconic. go forth and debug, bestie, you got this 🦋💜
📦 where this page comes from
- fedora 43: snobol4 2.3.1-7.fc43 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 43: snobol4 2.3.1-7.fc43 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 44: snobol4 2.3.1-8.fc44 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- fedora 44: snobol4 2.3.1-8.fc44 · BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND ISC
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- opensuse-leap 16.0: snobol4 2.3.1-160000.2.2 · BSD-2-Clause
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms