タグ

Rubyとexceptionに関するyukimori_726のブックマーク (2)

  • 例外戦略 - すがブロ

    まぁ正しく例外を使いましょうという話ですね。当たり前でしょと思う人は読まなくて良いです!! 前口上 例外に限らず、自分がプログラミングをするにあたって心掛けていることの一つに、誠実なプログラミングというのがある。最近、思いついたので勝手に名前をつけてみたんだけど。 何かっつーと、何が起こっているか、であるとか、これから使うデータはこれです、と言ったものをきちんと伝える・伝わるようにしておく、という心構えです*1。 その中でもとにかく例外はきちんと扱って欲しい事の一つなので、ちょっと自分はこーしているというのを世に残しておくのも良いかなぁと思った次第です。 例外はたくさんの重要なデータを持っている 概ねここらへんの情報は例外機構を持ってる言語なら提供してくれると思います。 例外クラス*2 例外発生時のメッセージ スタックトレース(またはバックトレース) Ruby だったら class Exc

    例外戦略 - すがブロ
  • Rubyの例外クラス設計 - kなんとかの日記

    具体的には、テストです *2 。例えば foo(1, 2) で wrong number of arguments が投げられることをテストしたいとします。以下のテストだと、wrong number of arguments 以外の ArgumentError が投げられる場合でも合格になってしまいます。 assert_raise(ArgumentError) { foo(1, 2) }ちゃんとやりたければ、例えばこんな感じのコードを書かないとだめかな。 flag = false begin foo(1, 2) rescue ArgumentError => e raise unless ex.message[/\Awrong number of arguments \(\d+ for \d+\)\z/] flag = true end assert(flag) Ruby の例外クラスは分

    Rubyの例外クラス設計 - kなんとかの日記
  • 1