From: Kouhei Sutou Date: 2008-12-29T13:07:12+09:00 Subject: [ruby-dev:37641] Re: invalid value for 須藤です。 In <787AA775-F89B-42B5-A71D-5AF90EDED39A@takao7.net> "[ruby-dev:37638] Re: invalid value for" on Mon, 29 Dec 2008 12:03:04 +0900, Takao Kouji wrote: > > 以下のように Integer() と Float() でエラーのメッセージが微妙に違います > > が (括弧があるかどうか)、できれば揃えたいと思いますが、どっちがいいでしょ > > うか? > > > > main@191-20081228> Integer('foo') > > ArgumentError: invalid value for Integer: "foo" > > > > main@191-20081228> Float('foo') > > ArgumentError: invalid value for Float(): "foo" > > バックトレースに Integer() や Float() のメソッド名が含まれる事から、 > メソッド名を省き、「invalid value: "foo"」というのはいかがでしょうか。 個人的には、なぜどんな問題が起きて、どうすれば直せそうかとい う情報はできるだけバックトレース無しでもわかった方が嬉しいで す。 なので、 * ArgumentError: invalid integer value: "foo" * ArgumentError: invalid float value: "foo" とか、 * InvalidIntegerError: invalid value: "foo" * InvalidFloatError: invalid value: "foo" のような方が個人的には好みです。 ありそうのない例ですが。。。 GUIを利用しているときは、表示場所の広さの都合などでバックト レースを見れないこともあるかもしれません。 aliasをしているとIntegerとかがバックトレースから見えなくなり ます。 alias convert_to_integer_with_validation Integer