# Understanding error messages [Programming guides](README.md) An error message is a clue about a problem in your program. Read it, find the indicated place, and make one small correction at a time. A **diagnostic** is a message from a Pliro check, with a code and a source location: the file, line, and position it points to. A **stable code**, such as `E4003`, identifies the kind of problem even when the message is translated. In the table, `xx` is a placeholder for two digits: `E40xx` describes a group of codes. You would not see the letters `xx` in a particular error code. **Lexical checking** recognizes small pieces of code, called tokens. **Parsing** checks how those pieces fit into instructions. **Name resolution** matches each used name to its declaration. **Arity** is the number of arguments supplied to a function. **Runtime** means while the program is executing; **native build** means creating an application for a chosen system. See [how code runs](../concepts/compiler-and-interpreter.md). Lexical, parser, name-resolution, module, runtime, and native-build errors use stable diagnostic codes. Important ranges are: | Range | Category | |---|---| | `E01xx` | Syntax locale selection. | | `E10xx` | Lexical errors. | | `E20xx` | Parser errors. | | `E30xx` | Name resolution and function arity. | | `E31xx` | Project modules. | | `E40xx` | Runtime values, limits, input, GPIO, media, and display. | | `E50xx` | Run Selection or Run Block selection. | | `E60xx` | Unsupported native target capability or platform. | Runtime failures stop the Pliro program while letting the host application stay open. ## Behavior and details Event checks also use E3201 (not top level), E3202 (invalid header/literal), and E3203 (descriptor used as an ordinary call). Storage uses E4014–E4017. Typical fixes: select a source locale, add a colon and indented body, use set for updates and == for equality, and choose the correct localized built-in alias. Incomplete or intentionally invalid fragments use text fences; complete examples use pliro fences. ## Related entries [Syntax and values](../syntax/README.md) · [Built-ins](../builtins/README.md) · [Programming guides](README.md)