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

SituationWhat brolang says
missing broYou really forgot your bro?
unknown keywordWho invited 'foo' bro?
undefined variableThat variable has negative aura.
unexpected tokenWhat the skibidi are you doing?
division by zeroBro is cooked.
return at top levelBro is gyatting where he shouldn't.
bad function call arityThat call has a skill issue.
calling an unknown functionWho invited that function bro?
infinite loopBro got stuck in the skibidi.
unterminated stringBro left the string hanging.
pop() on an empty arrayBro 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.