場合によっては、かなり適切にデバッグされ、通常はエラーの原因とならないライブラリを使用することがあります。それでも、これらのライブラリは、API の誤用によりエラーを返す可能性があります。このような場合、これらのライブラリの内部ステップがエラーのバックトレース内に表示されます。これは、ライブラリを使用するプログラマーの観点からはゴミであり、エラーの原因を特定することを困難にします。コア Ruby の一部のメソッドでさえ、いくつかの内部ステップをバックトレースに挿入します。たとえば、 を含むバックトレースが表示されるときはいつでも、Enumerable#inject
常にそこEnumerable#each
から呼び出されており、これがバックトレースに表示され、煩わしくなります。
特定のライブラリの内部ステップをバックトレースから削除する良い方法は何ですか? 私は現在、バックトレースを解析し、ファイル名でフィルタリングすることでそれをドンしています。それを行うより良い方法はありますか?
ライブラリを自作する場合、ライブラリを使ったメソッド呼び出しのバックトレースに現れる内部ステップを抑える良い方法はありますか?
rescue
明らかな方法は、ライブラリの外部から使用されるメソッドごとにandのペアを挿入するraise
ことですが、それは正しくないようです。