Python の一般的なパターンは、上流のモジュールでエラーをキャッチし、そのエラーをより有用なものとして再発生させることです。
try:
config_file = open('config.ini', 'r')
except IOError:
raise ConfigError('Give me my config, user!')
これにより、フォームのスタック トレースが生成されます。
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
__main__.ConfigError: Give me my config, user!
このようなスタック トレースを生成するために、ラップされた例外にアクセスする方法はありますか?
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
__builtin__.IOError: File Does not exist.
Exception wrapped by:
File "<stdin>", line 4, in <module>
__main__.ConfigError: Give me my config, user!
編集:
私が打倒しようとしている問題は、一部のサードパーティ コードが例外を 3 回までラップできることであり、根本原因を特定できるようにしたいということです。つまり、例外スタックを検査して例外の根本原因を特定する一般的な方法です。サードパーティのモジュールにコードを追加する必要はありません。