lispとrubyとpythonと その5 例外処理(python)
pytohnも普通。
#例外処理 def test1(): try: #raise #例外を発生させる raise NameError("error!") #例外が発生したときの処理 except: print("例外発生") #例外が発生しなかったときの処理 else: print("例外発生せず") #例外発生してもしなくてもやる処理 finally: print("後始末") test1() #->例外発生 # >後始末 #特定の例外を補足 def test2(): try: raise NameError("error!") except (NameError): print("NameError発生") #例外が発生しなかったときの処理 test2() #->NameError発生 #特定の例外を変数に入れる def test3(): try: raise NameError("error!") #asで変数指定 except NameError as ne: print(str(ne)) print("NameError発生") #例外が発生しなかったときの処理 test3() #->error! # NameError発生 #独自例外の定義 class MyError(Exception): def __init__(self, value): self.value = value def __str__(self): return repr(self.value) try: raise MyError("my error") except (MyError): print("MyError発生") #->MyError発生