PythonでIOError例外をキャッチする方法は?
IOError例外
存在しないファイルを開こうとしたときのprintステートメントやopen()関数など、入出力操作が失敗したときに発生するエラーです。また、オペレーティングシステム関連のエラーに対しても発生します。
指定されたコードがtryブロックで記述されている場合、入出力例外が発生します。これは、以下に示すように、exceptブロックで処理されます
。例
import sys def whatever(): try: f = open ( "foo.txt", 'r' ) except IOError, e: print e print sys.exc_type whatever()
出力
[Errno 2] No such file or directory: 'foo.txt' <type 'exceptions.IOError'>
-
PythonでArithmeticError例外をキャッチする方法は?
ArithmeticError Exceptionは、数値計算で発生するすべてのエラーの基本クラスです。これは、OverflowError、ZeroDivisionError、FloatingPointErrorなどの組み込み例外の基本クラスです。 次のように、指定されたコードで例外をキャッチできます 例 import sys try: 7/0 except ArithmeticError as e: print e print sys.exc_type print 'This is an example of catching ArithmeticError' 出力 int
-
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