Files
Claro/docs/DEBUGGING.md
T

852 B

Debugging Claro Programs

1) Runtime errors (OOPS screen)

When Claro hits a runtime error, it prints a message like:

*** OOPS! ***
main.claro:12: Division by zero
Stack trace:
  at updateScore (game.claro:44)
  at main (main.claro:12)

What it means

  • file:line: is where the error happened.
  • The stack trace lists the most recent function calls.

2) TRY / CATCH

Errors inside TRY jump to CATCH:

TRY
    CALL mightFail WITH 1
CATCH
    SAY LASTERROR
    SAY LASTERRORFILE
    SAY LASTERRORLINE
ENDTRY

3) Static checks

Use:

claro check yourfile.claro

This catches:

  • missing ENDIF/DONE/LEARNED/etc.
  • unknown keywords
  • CALL unknown function / wrong arg counts (semantic checks)

4) Formatting

Use:

claro fmt yourfile.claro --inplace

This normalizes indentation and whitespace.