Errors.add should throw on invalid calls

To simplify rules debugging, prevent dumb mistakes and crashes in error reporters.
K. Makes sense. Please comment above that line with that explanation. 

Can you add a test for this please?