Python进阶—异常处理

在Python中,异常处理是一种机制,用于处理程序运行过程中可能发生的错误或异常情况,来避免程序终止或产生不必要的错误信息。也就是说,目的是为了防止程序闪退,出错以后后续代码可以继续执行。

1.异常处理的关键字

try   except  finally   else   raise

2.异常处理的方法

try关键字下方缩进的代码块写上可能会出现错误的代码;except用来捕获异常类型,else是只有当没有出错时,下方缩进的代码块才会执行;finally是不管可能会出错的代码有没有出错,都会执行的程序代码;raise是抛出一个异常。

try有一个,except可以有多个。
多个except从上往下判断异常类型进行捕获,如果不是,则判断是否是下一个。
不知道错误类型是可以使用Exception,可以捕获所有异常,位于最后一个。
知道错误类型,可以精确找到错误,如值类型错误、找不到文件、索引越界、除数不能为0等。

3.使用案例

案例1:在try下方缩进的代码中,如果按照要求输入数字,类型转换时则不会出现错误;如果用户不小心输入的是字母,就会在字符串转整型时出错;所以这段程序是有可能会出错的,就要对这种异常进行捕获处理。

try:
    input_str = input("输入一个数字")
    # 输入的是数字,在将字符串转为数字时不会出错
    input_int = int(input_str)
    print("奇数" if input_int % 2 else "偶数")
    print("正常执行")
except Exception as e:
    print("出错,程序执行结束", e)
else:
    # 没有出错执行
    print("没有出错")
finally:
    # 不管是否出错,都会执行
    print("是否出错都会执行")
print("执行了")

#输入一个数字aa
#出错,程序执行结束 invalid literal for int() with base 10: 'aa'
#是否出错都会执行
#执行了

案例2:在读取文件时,有可能读取的文件是不存在的,没有进行异常处理,运行程序会直接报错,为了不影响后续代码的执行,就要对这种可能存在错误的代码进行异常捕获。

try:
    with open("data.txt", "r") as f:
    context = f.read()
    print(context)
except Exception as e:
    print("出错,程序执行结束", e)
else:
    # 没有出错执行
    print("没有出错")
finally:
    # 不管是否出错,都会执行
    print("是否出错都会执行")
print("执行了")

#出错,程序执行结束 [Errno 2] No such file or directory: 'data.txt'
#是否出错都会执行
#执行了

小结

在学习python的过程中,合理使用异常处理能够提高程序的稳定性和可靠性,使自身更好地理解和调试程序中的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值