# Read a Project Error Message

Break an error into location, cause, expected state, and next test.

## Outcome
Stop treating every error message as a wall of text.

## Safe first step
Copy the exact first error line and the command that produced it.

## Ladder steps
### 1. Find the first error
Learn to find the first error as one discrete move in the project path.

Check: You can explain or demonstrate: find the first error.

### 2. Separate location from cause
Learn to separate location from cause as one discrete move in the project path.

Check: You can explain or demonstrate: separate location from cause.

### 3. Name expected state
Learn to name expected state as one discrete move in the project path.

Check: You can explain or demonstrate: name expected state.

### 4. Run one narrow test
Learn to run one narrow test as one discrete move in the project path.

Check: You can explain or demonstrate: run one narrow test.

## Examples
### Practice first stack trace line
```sh
First stack trace line
```
Expected signal: A visible result you can compare before moving on

### Practice file and line number
```sh
File and line number
```
Expected signal: A visible result you can compare before moving on

### Practice minimal reproduction
```sh
Minimal reproduction
```
Expected signal: A visible result you can compare before moving on

## Common traps
- Fixing the last error first.
- Changing many things at once.
- Searching without the exact message.

## Practice task
Create a small practice case for read a project error message and write what each step proves before moving to the next one.

## Next steps
- Download the Obsidian note.
- Review the Anki cards.
- Pick one related ladder and do the practice task.

## Related
- [Browse topic clusters](/topics/)
- [All learning ladders](/learn/)
