Correct number of braces for error message
Also, why add a brace and then remove it?
May as well report the bogus final char if we can.
Factor exception wrapped read() into nextChar().