1. try……except
a = dict(name = 'wang') b = [1,2,3] try: # 尝试着执行try里面的代码 print(a) print(a['age']) print(b[100]) except (NameError,) as e: # 遇到NameError的错误,则抛出(可以将多个错误写在一行,用括号括起来,逗号隔开) print(e) except KeyError as e: # keyError print('key_error',e) except Exception as e: # 所有能抛出的异常都可以抛出 print('未知错误。') else: print('没有错误,才执行此句。可以省略') finally: print('总会执行此句。可以省略')
2. 自定义异常
# 自定义 异常 class NumError(Exception): # 创建一个异常类,继承自Exception def __init__(self,info): super().__init__(self) # 继承父类的方法 self.info = info def __str__(self): # __str__方法,打印对象即可直接打印返回值 return self.info num = [1,2,3,4,5] try: if len(num)<100: raise NumError('Length Error') # 通过raise主动抛出异常 except NumError as e: print(e)