標準のライブラリから関数を使用するときには、中規模の商用Pythonプロジェクトに取り組んでいます。関数が呼び出すことができるすべての例外を見つける
標準ライブラリのドキュメントには、関数が投げることができるすべての(または任意の)例外が一覧表示されないことがよくあるので、私たちが思い付くすべてのエラーケースを試してみましょう。それから妥当なものを捕まえる。しかし、非常に頻繁に発生する可能性のあるランダムなエラーは1つも見逃していますが、私たちはそれを思い付きませんでした。たとえば、組み込み定数のいずれかが間違った形になっている場合(trueではなくTrueなど)、json.loads()はValueErrorを発生させることができませんでした。
コードの一部が、それは例外でブレークすることはありませんことを、とても重要であるのではなく、もう一度試してみてくださいので、他のケースでは、我々は、単に例外をキャッチしようとしました。ここの問題は、それがKeyboardInterruptを捕まえることさえあるということです。
ので、ドキュメントはそのことについて何も言わない場合であっても、機能は上げることができ、すべての例外を見つける方法はありますか? 発生可能な例外を判断できるツールはありますか?
あなたがキーボード割り込みをキャッチしたくない場合は、 'StandardError'をキャッチすることができますが、それは静的関数は、実行時に上げるかもしれないもののエラーを伝えることができます私の知る限り何のツールはありません。 – jonrsharpe
FWIW、 'KeyboardInterrupt'は' Exception'から継承しないので 'except Exception'は' KeyboardInterrupts'をキャッチすべきではありません... – mgilson