# Errors

Malformed RST is normally represented by parser, reference, lint, or conversion
problems. Exceptions are reserved for invalid API use and unsafe I/O or patch
operations.

| Exception | Boundary |
| --- | --- |
| `InvalidArgumentException` | Invalid public option, range, path, or constructor value. |
| `SourcePatchException` | A patch range does not address the source safely. |
| `PatchConflictException` | Planned patches overlap. |
| `FileReadException` | A requested source file cannot be read safely. |
| `FileWriteException` | A target cannot be replaced safely. |
| `FileConflictException` | A file changed after it was opened. |

All package exceptions implement `RstExceptionInterface`, allowing an
application boundary to catch ALTO RST failures without catching unrelated runtime
exceptions.

Do not convert parser or conversion problems into exceptions merely to stop a
workflow. Inspect the relevant reports and apply the application's acceptance
policy explicitly.
