When javac tries to report 'Malformed Input Character Encoding,'
javac reports only 'I/O Exception.'
for example:
------
% javac InvalidEncodingChar.java
I/O exception
%
------
Cause:
src/share/sun/sun/tools/javac/BatchEnvironment.java#706-
-----
} catch (IOException e) {
output("I/O exception");
}
-----
and MalformedInputException is a subclass of IOException.
When MalformedInputException raises in Parser, Invalid Encoding Char
error is reported thru BatchEnvironment#flushErrors(), shown above.
This method uses Reader to get line from source (fixed by Naoyuki),
and Reader raises MalformedInputException again -- at this time,
this exception makes compiler prints only "I/O exception".
javac reports only 'I/O Exception.'
for example:
------
% javac InvalidEncodingChar.java
I/O exception
%
------
Cause:
src/share/sun/sun/tools/javac/BatchEnvironment.java#706-
-----
} catch (IOException e) {
output("I/O exception");
}
-----
and MalformedInputException is a subclass of IOException.
When MalformedInputException raises in Parser, Invalid Encoding Char
error is reported thru BatchEnvironment#flushErrors(), shown above.
This method uses Reader to get line from source (fixed by Naoyuki),
and Reader raises MalformedInputException again -- at this time,
this exception makes compiler prints only "I/O exception".