1

rescueエラーメッセージとそのバックトレースの表示方法を、エラーを処理したりカスタムメソッドを呼び出したりせずに変更したいと考えています。これを行う方法はありますか?オーバーライドできるエラー メッセージが表示されたときに呼び出されるメソッドはありますか? それがRubyの組み込み部分である場合、エラーメッセージとバックトレースをフォーマットする関連するCコードを教えてもらえますか?

4

1 に答える 1

0

サムイルがリンクした質問に対するmatugmの答えは、私に道を示しました。私がすることができます:

at_exit do
  print_the_altered_error_message($!) if $! and !$!.kind_of?(SystemExit)
  $stderr.reopen(IO::NULL)
end

これは構文エラーには効果的ではありませんが、他のほとんどの場合は機能します。

于 2012-11-23T11:50:51.317 に答える