Errors
technically useful and terminally online. every error includes a line and column.
Shape
RUNTIME ERROR: Bro is cooked.
at line 7, column 12
division by zero
Errors come in three kinds — LEX ERROR,
PARSE ERROR, and RUNTIME ERROR — each
with a joke headline, a source location, and a technical note.
The classics
| Situation | What brolang says |
|---|---|
missing bro | You really forgot your bro? |
| unknown keyword | Who invited 'foo' bro? |
| undefined variable | That variable has negative aura. |
| unexpected token | What the skibidi are you doing? |
| division by zero | Bro is cooked. |
| return at top level | Bro is gyatting where he shouldn't. |
| bad function call arity | That call has a skill issue. |
| calling an unknown function | Who invited that function bro? |
| infinite loop | Bro got stuck in the skibidi. |
| unterminated string | Bro left the string hanging. |
pop() on an empty array | Bro popped the void. |
Debugging is not impossible
The jokes never replace the useful part. Every error carries a real message and a real location, so you can find the line, fix the bug, and keep your aura.
PARSE ERROR: You really forgot your bro?
at line 3, column 1
expected 'bro', got end of file
Safety rail: execution stops after 100,000,000 steps, so an
infinite
skibidi becomes a runtime error instead of a
hang. Bro got stuck in the skibidi.