Problems
Dhole never stops at a problem. A line it cannot read is left out, or read as far as it makes sense, and everything else is drawn; and each problem is said as one line - where it is, what is wrong, and what to write instead:
Line 3, column 33: (warning) 'rond' is not something a step can be. Write 'round' if that is what you mean.
The line and the column are counted from 1, the column at the first character of what is wrong.
Where they are said
- Draw Dhole's Problems output holds them, one to a line, in the order of the text's lines; it is empty when there are none. The Mistakes example prints them through Print Line.
- Write Dhole's card lists them under the picture as you type, in the language Divooka Compute is set to.
- In code,
Dhole.Readgives them asDholeProblems, with the line, the column, the length, the message and the hint, in English or in Chinese;Dhole.Checkgives them without drawing.


Errors and warnings
An error is a line Dhole cannot draw as written: it is left out, or drawn as far as it can be read. A warning - its line says (warning) - is a line drawn as Dhole read it that was probably not meant that way. A text whose every line is wrong draws nothing, and Draw Dhole fails with its first problem as its message.
This text has four mistakes:
flowchrt Ten minutes to fix
direction: sideways
Wake up -> Shower -> Breakfast [rond]
-> Leave
Breakfast -> Leave: on time
Dhole draws what it can read - a flowchart of four steps, since flowchrt is a slip for flowchart - and says the rest:
Line 1, column 1: 'flowchrt' is not something Dhole draws, so this is drawn as a flowchart. Write 'flowchart' if a flowchart is what you mean.
Line 2, column 12: 'sideways' is not a direction. Write down, right, up or left.
Line 3, column 33: (warning) 'rond' is not something a step can be. Write 'round' if that is what you mean.
Line 4, column 1: The arrow comes from nothing. Write what the arrow starts at before it.

Slips
A word that is a slip for one Dhole knows - a letter or two away, depending on its length, or two letters swapped - is answered with the word it was probably meant to be: a kind (flowchrt), an attribute (rond, dimond), a setting in a chart's data (titel: Sales). Mermaid's spellings that cannot be mistaken are read rather than said - see Dhole and Mermaid - and the ones that would be drawn wrong are said with the Dhole way to write them: a label between bars (A -->|yes| B), an arrow a kind has not got (-.->, --x).
Every problem
In the table, the words in angle brackets stand for what the text said.
| Problem | Kind | Says | And |
|---|---|---|---|
| An empty text | error | There is nothing to draw. | Start with what to draw, such as flowchart, and write what it shows on the lines after. |
| A first word that names no kind | error | '‹word›' is not something Dhole draws. | Start with one of: flowchart, sequence, … |
| A misspelt kind | error | '‹word›' is not something Dhole draws, so this is drawn as a ‹kind›. | Write '‹word›' if a ‹kind› is what you mean. |
| A setting written twice | warning | ‹setting› was set before; the later setting is used. | Keep one of the two lines. |
| A setting with no value | error | ‹setting› needs a value after the colon. | Write the value after the colon, or remove the line. |
| Tabs and spaces together | warning | This line is indented with tabs and spaces together; a tab counts as four spaces. | Indent with spaces only, or with tabs only. |
| An unknown theme | error | There is no theme called '‹name›'. | The themes are: … |
| A direction that is none | error | '‹word›' is not a direction. | Write down, right, up or left. |
| A size that is none | error | '‹text›' is not a size. | Write the width and the height in pixels, such as 800 x 600. |
| A switch that is neither | error | '‹word›' is neither on nor off. | Write on or off; yes and no mean the same. |
| A number that is none | error | '‹text›' is not a number. | Write a number with a dot for its decimals, such as 12.5. |
| A range that is none | error | '‹text›' is not a range. | Write the lowest and the highest value with two dots between them, such as 0..100. |
| A date that is none | error | '‹text›' is not a date. | Write a date as year-month-day, such as 2026-11-02, with a time after it if you need one: 2026-11-02 14:30. |
| A length that is none | error | '‹text›' is not a length of time. | Write a number of days, weeks or hours, such as 3d, 2w or 4h. |
| A choice that is none | error | '‹word›' is not one of the choices for ‹setting›. | Write one of: … |
| A quotation mark not closed | error | The quotation mark is not closed. | End the quoted name with another quotation mark. |
| A bracket not closed | error | The [ is not closed. | End the list in brackets with ]. |
| A name missing | error | A name is missing here. | Write a name, or put one in quotation marks. |
| An unknown attribute | warning | '‹word›' is not something ‹a step› can be. | It can be: … |
| A misspelt attribute | warning | '‹word›' is not something ‹a step› can be. | Write '‹word›' if that is what you mean. |
| A misspelt setting | error | '‹word›' is not a setting, and its value is not a number, so this line is left out. | Write '‹setting›' if that is the setting you mean. |
| An arrow from nothing | error | The arrow comes from nothing. | Write what the arrow starts at before it. |
| An arrow to nothing | error | The arrow points at nothing. | Write what the arrow goes to after it. |
| An arrow the kind has not got | error | '‹arrow›' is not an arrow ‹a flowchart› has, so this line is left out. | The arrows are: … |
| A label between bars | error | A label goes after a colon at the end of the line, not between bars, so this line is left out. | Write it as A --> B: yes. |
| Indented under nothing | warning | This line is indented under a line that holds nothing, so it is read as if it were not indented. | Remove the indentation, or indent it under a group. |
| An empty group | warning | '‹group›' holds nothing. | Indent what belongs to it under it. |
| A member outside a class | error | This member belongs to no class. | Indent it under the class it belongs to. |
| An attribute outside an entity | error | This attribute belongs to no entity. | Indent it under the entity it belongs to. |
| A count no end can have | error | '‹text›' is not a cardinality. | Write 1, 0..1, 1..* or * at each end of the line, such as 1-*. |
| A star outside a state diagram | error | A start or an end belongs to a state machine, not to ‹a flowchart›. | Use * only in a state diagram. |
| A note with nowhere to go | error | A note needs a place to go. | Write note over A, note left of A or note right of A, then a colon and the note. |
| A message without an arrow | error | A message goes from one participant to another with an arrow. | Write it as Alice -> Bob: Hello, or Bob --> Alice: Hi for a reply. |
| An else without an if | error | 'else' belongs straight after an 'if' block. | Put it at the same indentation as its 'if', after the lines indented under that. |
| An and without a par | error | 'and' belongs straight after a 'par' block. | Put it at the same indentation as its 'par', after the lines indented under that. |
| Lines under a message | warning | '‹line›' holds lines indented under it but is not a block. | A block starts with loop, if, else, opt, par, and, critical or break. |
| Several centres | warning | A mind map grows from one centre; the lines at the top after the first are drawn as its branches. | Indent them under the first, or give the map a title to be its centre. |
| An event without a time | error | This event has no time. | Write the time, a colon, then the event: 1969: The Moon landing. |
| A task after an unknown task | error | There is no task called '‹name›' to start after. | Name a task written in the chart, as it is written. |
| A task with no start | error | '‹task›' has no date to start from. | Give it a date, or write a start: setting such as start: 2026-11-02. |
| A task waiting for itself | error | '‹task›' waits for itself through the tasks it starts after. | Let one of those tasks start on a date instead. |
| A task ending before it starts | error | '‹task›' ends before it starts. | Give it an end after its start, or a length. |
| A task named twice | warning | There is already a task called '‹task›'. | Give each task a name of its own, so 'after' knows which is meant. |
| No data | error | There is no data to draw. | Write a line for each value: a name, a colon, then the value. |
| Values and labels that do not match | warning | '‹series›' has ‹n› values for ‹m› labels. | Give it one value for each label. |
| A slice or a flow not above zero | warning | '‹name›' is not above zero, so it has no slice. | Give every slice an amount above zero. |
| A point that is none | error | '‹text›' is not a point. | Write a point as two numbers in brackets, such as (3, 4.5). |
| A point outside the range | warning | '‹point›' lies outside the chart's range, so it is drawn at its edge. | Change its value, or the range: setting. |
| One value and several mixed | warning | '‹kind›' mixes lines with one value and lines with several. | Write every line with one value, or every line with a value for each label. |
| A flow without an amount | error | A flow needs an amount. | Write the amount after a colon: Coal -> Power: 25. |
| Flows in a circle | error | The flows go round in a circle through '‹node›', and a Sankey diagram flows one way. | Remove one of the flows that lead back. |
| A row of the wrong length | warning | This row has ‹n› cells and the header has ‹m›. | Give every row a cell for each column. |
| A diagram that could not be drawn | error | This ‹kind› could not be drawn: ‹why› | Simplify the lines it is drawn from; the text up to here is read as written. |
| Nothing between separators | warning | There is nothing between these separators. | Remove one of the --- lines, or write a diagram between them. |
In Chinese
Every problem is worded in Chinese as well, and Write Dhole's card shows them in Chinese when Divooka Compute is:
第 3 行第 7 列:“lots”不是数字。请写数字,小数用点表示,例如 12.5。
Draw Dhole's Problems output is always English, so a document's run prints the same words on every machine.