今、私はexcept Exception:
句で例外をキャッチし、print(exception)
を実行します。結果は常に<class 'Exception'>
を出力するため、情報は提供されません。私はこれがPython 2で動作するのを知っていましたが、python3でどうすればいいですか?Python 3で例外をプリントする方法は?
12
A
答えて
29
を試してみてください。 shown in the Python 3 tutorialとおり
def fails():
x = 1/0
try:
fails()
except Exception as ex:
print(ex)
は簡単な説明を与えるために、as
は、特定の化合物文で使用される擬似割り当てキーワードが変数に先行する文を割り当てるかエイリアスすることです。
この場合、as
は、キャッチされた例外を変数に割り当てて、すぐに処理する必要がなく、後で格納して使用する例外に関する情報を許可します。 (これは、Python 3 Language Reference: The try
Statementで詳細に説明されている。)
as
を使用して他の複合ステートメントがwith
ステートメントである:ここ
@contextmanager
def opening(filename):
f = open(filename)
try:
yield f
finally:
f.close()
with opening(filename) as f:
# ...read data from f...
、with
ステートメントは、ブロックの実行をラップするために使用されています方法は、context managersによって定義される。これは、きちんとしたジェネレータパッケージ内の拡張try...except...finally
文のように機能し、as
文は、コンテキストマネージャからのジェネレータで生成された結果を、拡張使用の変数に割り当てます。 (これはPython 3 Language Reference: The with
Statementで詳細に説明されている。)、モジュールのインポート時に最後に、as
(通常短い)名前別にモジュールをエイリアスするために使用することができる
:
import foo.bar.baz as fbb
このPython 3 Language Reference: The import
Statementに詳しく説明されている。
7
は、私はあなたが変数にException
を割り当てる必要があることを推測している
except Exception as e:
print(e)
8
これらは、Python 2からの変更です:これは意味がありません
try:
1/0
except Exception as e: # (as opposed to except Exception, e:)
#^that will just look for two classes, Exception and e
print(e) # for the repr
print(str(e)) # for just the message
print(e.args) # the arguments that the exception has been called with.
# the first one is usually the message.
関連する問題
- 1. Python 3:で例外をテストする方法は?
- 2. のPythonインタプリタ3プリント長が
- 3. Pythonで例外を使用する方法(例)
- 4. 範囲外のPythonプリント?
- 5. youtube-dlでPythonで例外をキャッチする方法は?
- 6. のPython 3:マルチプロセッシングは、例外EOFError:ライン
- 7. Pythonで特定のJSON値をプリントする方法は?
- 8. Pythonで例外を処理する正しい方法は?
- 9. ejb 3ベースのSOAPサービスで例外を処理する方法
- 10. Python 3でre-raised例外にアクセスするには?
- 11. アンドロイドで例外メモリ例外を処理する方法は?
- 12. データベースを受け入れて、Pythonでリストをプリントする方法
- 13. Python 3の例外構文はどうですか?
- 14. Python Social Authで例外を処理する方法
- 15. Pythonでlibxml2 parserError例外を処理する方法
- 16. Pythonのパラメータで例外を処理する方法
- 17. Pythonで関数をプリントするには?
- 18. Symfonyのアップデート例外(2.8 -3.x)を修正する方法
- 19. ZendFramework 3の例外をインターセプトする方法
- 20. Python 2.xおよび3.xでdoctestを使用して例外をテストする方法は?
- 21. Python 3でZ3-solver 'model is not available'例外が発生する
- 22. Pythonのプリントと入力の干渉を止める方法は?
- 23. Pythonモジュールからカスタム例外ハンドラにアクセスする方法は?
- 24. NumPyプリントを0にする方法は?
- 25. プリント結果をPythonでTkinterに送る方法
- 26. Python 3でURLエンコードする方法は?
- 27. RGBでカラーをプリントする方法
- 28. 0x8007000B例外をデバッグする方法は?
- 29. 例外メッセージをカスタマイズする方法
- 30. 例外がOracle例外であるかどうかをチェックする方法は?
、名前にバインドされているものを正確に 'exception'?この動作が現れる箇所のスニペットを投稿してください。ほとんどの場合、名前 'exception'が初期化されている部分があります。 –