python3.6-异常和日志-20180518

异常处理:

try:

      有可能发生异常的代码:1/0
except 异常类型:
      捕获并处理语句
except 异常类型:

     处理语句

except(异常1,异常2 ...)

    针对多个问题的解决方案

else:

    如果没有出现异常,将会执行这行代码

finally:

    管你有木有异常都会执行的代码

try:
    num = int(input('please input a number:'))  #input可能会输入0,报错ZeroDivisionError
    print(100 / num)
except ZeroDivisionError:
    print('不能为零')            #出现错误时执行except内的代码
else:
    print('congratulation!')     #正常运行时执行else
finally:
    print('ok!')                 #最终都会输出的代码

执行结果:

please input a number:0  #当输入的数字为0时
不能为零
ok!



try:
     语句体
except (异常类型1,异常类型2):   合并写
     处理语句
except Exception:
     所有异常



try:
     语句体
except 异常类型 as 名称:
     print(名称)
else:

     没有异常才会执行的代码

try:
    num = int(input('please input a number:'))
    print(100 / num)
except ZeroDivisionError as e:
    print('不能为零')
    print(e)
else:
    print('congratulation!')
finally:
    print('ok!')

结果:

please input a number:0
不能为零
division by zero
ok!


try:
    num = int(input('please input a number:'))
    print(100 / num)
except ZeroDivisionError as e:
    print('不能为零')
    print(e)
except NameError:
    print('名字错了!')
except Exception as e:    #所有错误都是继承自Exception,如果写上这句话,所有异常都会被拦截,最后一个异常在写它
    print('我也不知道什么错了,继承一Exception吧!')
    print(e)

else:
    print('congratulation!')
finally:
    print('ok!')

流程:

    1.执行try下面的语句

    2.如果出现异常,则在except语句里查找对应异常并进行处理

    3.如果没有出现异常,则执行else语句内容

    4.最后,不管是否出现异常,都要执行finally语句

    (越具体的异常越往前放)

except Exception as e:    #所有错误都是继承自Exception,如果写上这句话,所有异常都会被拦截,最后一个异常在写它






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值