例外処理を毎回、
python
1try:AAAAA 2except IndexError:pass
等と記載してますが、IndexError以外に複数指定する場合も
直接書きだと、非常に効率が悪いです。
何かしらエラーが発生した場合
その処理を無視する事はできないでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
カッコでくくれば必要最低限の例外をまとめて捕捉できますよ。
python
1try: 2 AAAAA 3except (IndexError, TypeError): 4 pass
投稿2018/06/29 11:01
総合スコア6149
0
任意の例外リストを受け取り、with ブロック内でいずれかが起こると with ブロックの直後から黙って実行を再開するコンテキストマネージャを返します。
ほかの完全に例外を抑制するメカニズム同様、このコンテキストマネージャは、黙ってプログラム実行を続けることが正しいことであるとわかっている、非常に限定的なエラーをカバーする以上の使い方はしてはいけません。
投稿2018/06/29 10:53
編集2018/06/29 10:54総合スコア5846
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Pythonのほとんどの例外はExceptionクラスを継承しています。
ですから、こいつをキャッチすることでエラーを無視することは可能です。
しかし、全く推奨しません。
意図のない例外の握り潰しは、デバッグを著しく難しくします。
例えば、ただのタイプミスも例外としてキャッチされてしまうのです。
Python
1>>> for i in range(3): 2... try: 3... print(l) 4... except Exception: 5... print('error') 6... 7error 8error 9error
上記の例だとまだ分かりやすいですが、当然もっと紛らわしいミスも生じ得ます。
直接書きだと、非常に効率が悪いです。
その効率の悪さが、デバッグの効率を良くしていると思ってください。
投稿2018/06/29 10:53
編集2018/06/29 10:54総合スコア35676
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
一番簡単なのは、
python
1try: 2 何らかの処理 3except: 4 pass # にぎりつぶし
これだと自分の首を締めることになりかねないので、
python
1try: 2 何らかの処理 3except HogeError as e: 4 例外処理1 5except FugaError as e: 6 例外処理2 7except: 8 想定していないような例外が来たときの処理
これくらいですかね。
投稿2018/06/29 10:48
総合スコア30939
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。