Java 1.4.2_04 にて発生した例外のスタックトレース。

java.nio.BufferOverflowException
  at java.nio.charset.CoderResult.throwException(CoderResult.java:259)
  at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:343)
  at java.lang.StringCoding.encode(StringCoding.java:374)
  at java.lang.String.getBytes(String.java:573)

書籍「JavaMail完全解説」サポート掲示板 - JDK1.4.2 の ISO-2022-JP デコードで無限ループ或いは BufferOverflowException となるバグ [1259] より

実は JDK1.4.2 では "あ".getBytes("ISO-2022-JP") が成功しない、とか ISO-2022-JP のコンバータを変更したことによるバグがあるようです。
ちなみに "あ".getBytes("ISO-2022-JP") が例外になる件は Bug:4913711 にて tiger で fix されると書いてありました。

tags: Java zurazure

Posted by NI-Lab. (@nilab)