python异常处理
1 异常处理的基本格式
1 try: 2 # 代码块,逻辑 3 inpt = input("请输入序号:") 4 i = int(inpt) 5 except ValueError as e: 6 print('ValueError', e) 7 except Exception as e: 8 # e是Exception对象,对象中封装了错误信息 9 # 上述代码块出错了,自动执行当前代码块 10 print(e) 11 i = 1 12 else: 13 print("如果不出错,就会执行else") 14 print("如果出错,就不会执行else") 15 finally: 16 print('无论是否出错,都会执行') 17 print(i)
只要出现错误,下面的代码就不会执行。
2 主动触发异常
1 try: 2 # 主动触发异常 3 # 一般用在嵌套函数中 4 raise Exception("不过了。。。") # 将错误赋值给e 5 except Exception as e: 6 print(e)
3 自定义异常
1 class OldBoyError(Exception): 2 3 def __init__(self, msg): 4 self.message = msg 5 6 def __str__(self): 7 return self.message 8 9 10 try: 11 raise OldBoyError('我错了。。。') 12 except Exception as e: 13 print(e) # 执行obj对象的__str__方法。
4 断言
条件成立执行,条件不成立直接报错。
1 print("123") 2 assert 1 == 2 3 print("456")