Red text is feedback, not failure
Error Bestiary
0 of 45 met
0 tamed
You meet a creature the first time it shows up in one of your runs. You tame it when a later run gets past it. Nobody here has ever written code without meeting a few. Join a team and the ones you meet start counting.
Showing 45 creatures.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 1.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 2.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 3.
- ?????Not met yet. Most people run into this one in week 4.
- ?????Not met yet. Most people run into this one in week 4.
- ?????Not met yet. Most people run into this one in week 5.
- ?????Not met yet. Most people run into this one in week 5.
- ?????Not met yet. Most people run into this one in week 5.
- ?????Not met yet. Most people run into this one in week 6.
- ?????Not met yet. Most people run into this one in week 6.
- ?????Not met yet. Most people run into this one in week 6.
Traps that make no noise
These 3 break nothing. The compiler says nothing, the program runs, and the answer is quietly wrong — so there is no meeting them and no taming them. Read them now and recognise them later.
The Silent RounderWhole number divided by whole number gives a whole number, and the rest is thrown away without a word.Week 1
What it looks like
(no error at all — it compiles, it runs, and the answer is wrong)
How to beat it
- `2048 / 42` is `48`, not `48.76`. Java cut the rest off.
- Make one side a decimal: `ticks / 42.0`, or `(double) ticks / ticksPerRotation`.
- Writing `double revs = 2048 / 42;` does NOT help — the division already happened before the answer reached the box.
Usually caused by: Converting encoder ticks to rotations with two ints.
silent.integer.division
The One-Eyed Equals, Quiet Form`if (hasGamePiece = true)` compiles, sets the variable to true, and then runs the branch every single time.Week 2
What it looks like
(no error at all — the branch simply always runs)
How to beat it
- For a boolean, write `if (hasGamePiece)`. No `==` needed at all.
- If the branch runs when it obviously should not, go and count the equals signs.
- The same mistake on a `double` is a compile error. On a `boolean` Java says nothing.
Usually caused by: Typing one `=` in an `if` that tests a true/false value.
silent.boolean.assignment
The Silent Twin`==` on text asks whether it is the SAME object, not whether it says the same thing.Week 6
What it looks like
(no error at all — the comparison is just false when it should be true)
How to beat it
- For text, always use `.equals()`: `mode.equals("Left")`.
- It looks like it works for two plain quoted words, because javac shares those behind your back. As soon as one side comes from a file or a dashboard, it stops working.
- Put the known value first — `"Left".equals(mode)` — and it cannot crash even when `mode` is null.
Usually caused by: Comparing an auto mode read off the dashboard with `==`.
silent.string.equality