# ----------------------- # __Author : tyran # __Date : 17-11-13 # ----------------------- # 异常处理 try: # 代码逻辑,只要其中任意一行报错都会被捕捉 i = int('aaa') print(i) except Exception as e: # 如果出错执行 # 捕捉错误 print(e) # invalid literal for int() with base 10: 'aaa' else: print('no Error') # 当没有错误的时候才执行 finally: # 不管出不出错一定会执行 print('over') # 这里的Exception是一个包容所有错误的类,当然也可以写一些分类 try: s = 'aaa' print(s[5]) except IndexError as e: print(e) # string index out of range except IOError as e: print(e) # 这里也可以用另外一种写法 try: s = aaa print(s[5]) except (IndexError, NameError) as e: print(e) # name 'aaa' is not defined # 再来看主动触发异常 try: raise Exception('自首') except Exception as e: print(e) # 自首 # 自定义主动触发错误 class MyError(Exception): def __init__(self, msg): self.message = msg def __str__(self): return self.message try: raise MyError('我错了') except MyError as e: print(e) # 我错了 # assert 断言 print(123) assert 1 == 1 # assert 条件,满足就执行下去,不满足报错 print(456) print(123) assert False # AssertionError print(456)
Python3.6 异常处理和assert
最新推荐文章于 2024-07-19 16:48:59 发布