簡単な例外処理を書きます。
詳しく調べる方はこちらにて。
基本的には、try,except,else,finallyにて定義します。
try : [処理] except : [例外が発生した際の処理] else: [例外が発生しなかった際の処理] finally: [処理が終わった際の処理]
例外の値を取得する場合は、
try: [例外処理] except Exception , message: print message
def testExcept():
arr = ["1","2","3","hoge"]
for val in arr:
try:
print int(val)
except Exception , message:
print message
else:
print "例外はありません"
finally:
print "=== 変換処理完了 : " + val + "==="
1例外はありません
=== 変換処理完了 : 1===
2
例外はありません
=== 変換処理完了 : 2===
3
例外はありません
=== 変換処理完了 : 3===
invalid literal for int() with base 10: 'hoge'
=== 変換処理完了 : hoge===
class myexcept(Exception):
def __init__(self,message):
self.message = message
def __str__(self):
return self.message
def testExcept():
arr = ["1","2","3","hoge"]
for val in arr:
try:
if val.isdigit():
print int(val)
else:
print "例外処理を投げます"
raise myexcept(val + "は数値ではありません")
except Exception , message:
print message
else:
print "例外はありません"
finally:
print "=== 変換処理完了 : " + val + "==="
1例外はありません
=== 変換処理完了 : 1===
2
例外はありません
=== 変換処理完了 : 2===
3
例外はありません
=== 変換処理完了 : 3===
例外処理を投げます
hogeは数値ではありません
=== 変換処理完了 : hoge===

コメントをかく