環境
- Pyhon 3.9.7
- macOS Catalina 10.15.7(19H1519)
- VSCode
目的
関数やクラスを利用する時に発生しうる例外を知りたい。
例外処理自体は理解しているのですが、発生する例外の候補を考えることが難しいです。
前提として初心者のため例外を理解すべく、bare-exceptやbroad-exceptを避けて実装しています。
みなさんがどのように考え、処理する例外を決めているのか、教えていただきたいです。
また、この問題に対する有益なツールなどもあれば、教えていただけると助かります。
具体例
例として組込関数の open のドキュメントを見てみます。
file を開き、対応する ファイルオブジェクト を返します。ファイルを開くことができなければ、OSError が送出されます。
とあり、OSError が発生することが分かります。
他の例外の表現は以下のようなものがありました。
'strict' はエンコーディングエラーがあると例外 ValueError を発生させます。デフォルト値である None も同じ効果です。
既存のファイルを 排他的生成モード('x')で開いた場合、 FileExistsError を送出するようになりました。
ここまでで、 open に関して以下の例外が候補になります。
- OSError
- ValueError
- FileExistsError
明記されているのは以上ですが、実際に動かしてみると、引数の encoding に対して存在しないエンコーディングを指定した時には LookUpError が発生します。
このように、公式のドキュメントでさえドキュメントの限界があります。
他の標準ライブラリーであったり、pipでインストールするようなパッケージであった場合にはよりドキュメントが薄い場合もあります。
そういった状況でみなさんがどのように出てくる例外の候補を考えているのか、もしくはツールなどで検出しているのか、教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/08 02:24