From: Kouhei Sutou Date: 2008-06-22T06:13:52+09:00 Subject: [ruby-dev:35194] IncompatibleEncodingError 須藤です。 Ruby 1.9ではたくさんの"incompatible encodings: ..."という例 外を目にすると思うのですが、その例外クラスをArgumentErrorか らIncompatibleEncodingErrorというような専用の例外クラスにす るというのはどうでしょうか? "incompatible encodings: ..."なエラーを例外を捕まえやすくす ると、エンコーディングを設定し直して再チャレンジするとか、親 切なエラーメッセージを出力するというようなことがしやすくなる と思います。 def parse(input) begin MyParser.new(input).parse rescue IncompatibleEncodingError puts "input encoding must be #{$!.expected_encoding}" puts "but was #{$!.actual_encoding}" nil end end