BASIC (ZX Spectrum), 44 2 bytes
crossed out 4 is still regular 4
Saved 2 bytes thanks to @ShaunBebbers.
0õ
Note: In the ZX Spectrum character set, these bytes display as
0 PRINT
When you enter this in, the Spectrum starts by parsing an optional number followed by a line of code. Normally the line number is 1..9999 which causes the code to be added to the stored program. However if no line number is supplied then the code is executed immediately instead. Unfortunately a bug in the Spectrum means that it mistakes a line number of zero for no line number at all, but it still tries to execute the zero as part of the line of code, which is illegal, thus causing the error.
The previous 4-byte version generates a true error rather than relying on an interpreter bug:
õ°""
Note: In the ZX Spectrum character set, these bytes display as
PRINT VAL ""
which outputs
C Nonsense in BASIC, 0:1
because the empty string is not a valid numeric expression. (I could of course have used any statement that takes a single integer.) If this answer is unacceptable, then for 6 bytes you can write a program consisting of a single line with one of the keywords that accepts no arguments, then use POKE to replace it with an illegal keyword, then attempt to RUN the program.