Rails勉強会#40のセッションでも言いましたが、 エラーが発生した時等に表示されるbacktraceの表示は、 コンソールのように上から下に流れる画面上では 通常の逆順のほうが追いやすいと思います。
ということで、ちょっと試しにそのような挙動にしてみました。 以下のようなコードを実行するとテストできます。
1 class Exception 2 def set_backtrace(bt) 3 puts bt.reverse.map{|i| 4 i.sub(/^([\/\.\w]+):(\d+)/, 5 "\e[33m\\1\e[m:\e[32m\\2\e[m") 6 }.join("\n") 7 end 8 end 9 10 def foo 11 raise StandardEr ror 12 end 13 14 def bar 15 foo 16 end 17 18 bar
こんな感じに、エラーが発生した場所に近い順に、 下から上にたどっていく感じに表示されます。
上から下のbacktraceに目が慣れてしまっているので、最初は追いかけにくさを感じますが、一旦慣れてしまえば、スタックが深くて相当スクロールアップしなければエラーの発生源までたどり着けないという場合には良さそうな気がします。
stackという概念のイメージのせいで、新しいものが上の方に来るようになっているのだと思いますが、実用上は新しいものが下にくるこのスタイルの方が便利ではないでしょうか。
posted by
genki
on Thu 23 Apr 2009
at 14:27
with
2 comments
これはただのtraceじゃないですか!!!! ;)
確かにw
ただのtraceが欲しいですねー