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

 

posted @ 2019-01-17 17:06  平平无奇小辣鸡  阅读(126)  评论(0)    收藏  举报