python中的异常处理
单分支处理异常
# 单分支 import logging try: num = int(input('>>>:')) # dic = {'k1': 'v1'} except ValueError as e: logging.warning('值错误') print(e) finally: print('afdjaf')
多分支处理异常
#多分支 import logging try: num = int(input('>>>:')) dic = {'k1': 'v1'} print(dic['k2']) except ValueError as e: logging.warning('值错误') print(e) except KeyError: print('key eroor') finally: print('afdjaf')
捕获python中的所有异常
# 万能异常 try: num = int(input('>>>:')) dic = {'k1': 'v1'} print(dic['k2']) except Exception as e: print(e) finally: print('afdjaf')
多分支加万能异常
try: num = input('请输入你要办理的业务:').strip() num = int(num) menu_dict[num]() except ValueError: print('请输入数字') except KeyError: print('超出范围,请重新输入') except Exception: print("出现未知错误.....")
自定义异常
class PhoneconnectionError(BaseException): pass try: raise PhoneconnectionError('连接错误...') except PhoneconnectionError as e: print(e)
其他应用
try expcet else
try expcet else fianlly
fianlly不管程序是否有异常都执行finally下的代码
断言
# 条件不成立 主动报错
# assert 1 == 2

浙公网安备 33010602011771号