質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

4回答

1784閲覧

python3 例外処理 エラーが発生した場合の対処

Untitled_Sample

総合スコア192

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/06/29 10:43

例外処理を毎回、

python

1try:AAAAA 2except IndexError:pass

等と記載してますが、IndexError以外に複数指定する場合も
直接書きだと、非常に効率が悪いです。

何かしらエラーが発生した場合
その処理を無視する事はできないでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

カッコでくくれば必要最低限の例外をまとめて捕捉できますよ。

python

1try: 2 AAAAA 3except (IndexError, TypeError): 4 pass

投稿2018/06/29 11:01

YouheiSakurai

総合スコア6142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

contextlib.suppress

任意の例外リストを受け取り、with ブロック内でいずれかが起こると with ブロックの直後から黙って実行を再開するコンテキストマネージャを返します。

ほかの完全に例外を抑制するメカニズム同様、このコンテキストマネージャは、黙ってプログラム実行を続けることが正しいことであるとわかっている、非常に限定的なエラーをカバーする以上の使い方はしてはいけません。

投稿2018/06/29 10:53

編集2018/06/29 10:54
umyu

総合スコア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
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

一番簡単なのは、

python

1try: 2 何らかの処理 3except: 4 pass # にぎりつぶし

これだと自分の首を締めることになりかねないので、

python

1try: 2 何らかの処理 3except HogeError as e: 4 例外処理1 5except FugaError as e: 6 例外処理2 7except: 8 想定していないような例外が来たときの処理

これくらいですかね。

参考:
Python基礎講座(11 例外)

投稿2018/06/29 10:48

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問