Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでNameError例外をキャッチする方法は?


NameErrorsは、コードが現在のスコープに存在しない名前を参照している場合に発生します。たとえば、修飾されていない変数名。

指定されたコードは、例外をキャッチしてそのタイプを見つけるために次のように書き直されます。

import sys
try:
def foo():
print magnolia
foo()
except NameError as e:
print e
print sys.exc_type

出力
C:/Users/TutorialsPoint1/~.py
global name 'magnolia' is not defined
<type 'exceptions.NameError'>



  1. PythonでIOError例外をキャッチする方法は?

    IOError例外 存在しないファイルを開こうとしたときのprintステートメントやopen()関数など、入出力操作が失敗したときに発生するエラーです。また、オペレーティングシステム関連のエラーに対しても発生します。 指定されたコードがtryブロックで記述されている場合、入出力例外が発生します。これは、以下に示すように、exceptブロックで処理されます。 例 import sys def whatever(): try: f = open ( "foo.txt", 'r' ) except IOError, e: print e print sys.

  2. PythonでKeyError例外をキャッチする方法は?

    辞書のキーとして値が見つからない場合、KeyErrorが発生します。指定されたコードは、例外をキャッチしてそのタイプを見つけるために次のように書き直されます。 例 import sys try: s = {'a':5, 'b':7}['c'] except: print (sys.exc_info()) 出力 (<type 'exceptions.KeyError'>, KeyError('c',), <traceback object at  0x0000000003203748&g