常见异常:

try...except...finally:
try: i = int(input('count:')) i = i / 0 except ZeroDivisionError: print('除0了') except ValueError as e: print('输入错误:', e) finally: # 无论有没有异常都执行 print('结束')
try...except...else:
try: i = int(input('count:')) # i = i / 0 except ZeroDivisionError: print('除0了') except ValueError as e: print('输入错误:', e) else: # 没有异常时执行 print('没错误') finally: # 无论有没有异常都执行 print('结束')
同时处理多个异常:
try: i = int(input('count:')) # i = i / 0 except (ZeroDivisionError, ValueError) as e: print('错误:', e) else: # 没有异常时执行 print('没错误') finally: # 无论有没有异常都执行 print('结束')
raise:
try: i = int(input('count:')) i2 = int(input('count2:')) if i2 > i: raise ValueError('i2>i错误') # 抛出异常 i = i / i2 # i = i / 0 except (ZeroDivisionError, ValueError) as e: print('错误:', e) else: # 没有异常时执行 print('没错误') finally: # 无论有没有异常都执行 print('结束')
assert:
try: i = int(input('count:')) i2 = int(input('count2:')) assert i2 > i # 断言 # 不对会报AssertionError i = i / i2 # i = i / 0 except (ZeroDivisionError, ValueError) as e: print('错误:', e) else: # 没有异常时执行 print('没错误') finally: # 无论有没有异常都执行 print('结束')