簡単な例外処理を書きます。
詳しく調べる方はこちらにて。
基本的には、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===
コメントをかく