Python学习基础 July Day3 异常处理

Python学习基础 July Day3

异常处理学习总结

1、标准异常及警告汇总
python异常体系关系图
Tips:
错误(Error)和异常(Exception)的区别在于错误为代码运行前的语法或者逻辑错误,异常为代码运行过程中出现错误导致无法运行。Warning的区别在于存在可能的错误风险,但当前代码运行正常。

2、常用异常语句
2.1) try-except
try:
检测范围
except (异常类型)[as reason]:
出现异常后的处理代码

语句执行规则:

  1. 首先执行try与except之间的语句,无异常则跳过except语句执行后续语句。
  2. 出现异常且异常类型与except的异常类型一致时,运行顺序从异常处跳至except语句,执行except子句。
  3. 出现异常且异常类型与except的异常类型不一致时,运行顺序从异常处跳至上一个try语句。(异常发生传递)

Tips:

  • 一个try语句后可接多个except语句,每个except语句的异常类型可不一样,用于处理不同异常。需要注意的是except多个异常的排序问题,从最针对的异常到最通用的异常。
  • except后可不接异常类型,代表捕获所有异常,但不能通过except确定异常类型。同理,except可接多个异常类型,代表捕获了其中的某种异常,但无法确定类型。

2.2)try-except-finally
try:
检测范围
except (异常类型)[as reason]:
异常出现后的处理代码
finally:
无论如何都会执行的语句

执行规则:

  1. try与except执行规则同上
  2. 无论是否有异常以及try中异常是否与except异常类型一致,均要执行finally子句后进行后续运行。

2.3)try-except-else
try:
检测范围
except (异常类型)[as reason]:
异常出现后的处理代码
else:
无异常时执行代码

tips:

  • else语句存在前提为except语句存在。如果是try-else格式,则会出现语法错误。

2.4)raise
raise语句用于给出一个指定异常类型及内容
example:

try:
    raise NameError('HiThere')
except NameError:
    print('An exception flew by')

3、案例:猜数字游戏
电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,“恭喜你猜到了这个数是…”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。
代码如下:

import random
secret = random.randint(0,100)
print("猜测一个0到100之间的整数")
i = 0
guess = -1
while guess != secret:
    i += 1
    temp = input("第%s次猜,请输入一个整型数字:"%i)
    try:
        guess = int(temp)
        if guess > secret:
            print("太大")
        elif guess < secret:
            print("太小")
    except ValueError:
        print("输入无效")
print("恭喜你猜到了这个数是%s"%guess)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值