ここに状況があります。 doStuff()内のすべての例外がコードをバブルアップして、より高いレベルで処理されるようにします。追加の文字列引数付きのRuby再生成例外
私はまた、任意の例外も同様に高いレベルで)(doStuffに起こっている、と現在はこれをやっているどのくらいの頻度を記録したいと思います:、
begin
doStuff()
rescue Exception =>
raise e, "specific error to log in a db"
doStuffコードは例外の数十を投げます私はこれらのイベントのそれぞれをキャプチャしてDBに入れたいと思っています。 doStuff2()もあります。これは同じ命令を投げることができ、どの関数から来たのか知りたいのです。
追加の文字列を追加すると、例外自体が変更されているように見え、元の例外に含まれていたすばらしい書式設定情報とトレース情報が失われます。
元の例外をどのように改善できるかについての提案はありますが、doStuff()内で発生しているすべての例外も追跡できますか?
doStuffを(上げるために新しい例外を構築することができます。問題はここで例外を記録できないことです。ロギングはより高いレベルで行われなければならない。このアプリは「ダム」で、データベースやログについては何も知らない。私は2つの例外を同時に発生させることはできないことを知っているが、これは私の問題を解決するだろう。それらのうちの1つは捕捉されてログに記録され、もう1つはコード内にまだ泡立ちます。 –