4款简单Python代码,彻底掌握try语句的用法

在编程中最头疼的莫过于辛辛苦苦写完的代码,运行的某个瞬间突然报错,出现一大堆红色的“error”字样,程序立刻中断,这就是所谓的程序异常。异常一般是由于无效的输入、资源耗尽或代码错误等原因引起的

本文通过4款简单实用的代码,教会大家如何让程序在遇到错误时优雅地恢复运行或正常退出

想象一下,你正在尝试编写一个简单的程序。该程序需要用户输入两个数字,并将它们相除得到结果。

用户很有可能不是那么的“听话”,如果用户输入了一个零作为分母,那么程序将会遇到一个“除以零”的错误,这在数学上没有意义,程序会立刻报错中断。

一、try-except

为了处理这种情况,Python提供了try-except语句。下面是一个简单的例子:

try-except结构是用来捕获和处理异常的基本形式。当try块中的代码执行时,如果发生异常,则执行流程会立即转到except块。

try:
    # 尝试执行的代码块
    num1 = float(input("请输入一个数字:"))
    num2 = float(input("请再输入一个数字:"))
    result = num1 / num2
    print("两数相除的结果是:", result)
except ZeroDivisionError:
    # 如果在try部分的代码执行中发生了ZeroDivisionError异常,则执行这部分代码
    print("错误:不能除以零!")

在这个例子中,如果用户输入了0作为第二个数字,程序不会直接崩溃,而是打印出“错误:不能除以零!”的提示信息。

二、try-except-else

更进一步,如果你想在程序没有异常时执行额外的操作,那么可以使用try-except-else结构。else后面的代码将在没有异常发生时正常运行:

try:
    num1 = float(input("请输入一个数字:"))
    num2 = float(input("请再输入一个数字:"))
    result = num1 / num2
except ZeroDivisionError:
    print("错误:不能除以零!")
else:
    # 如果没有异常发生,则执行这部分代码
    print("两数相除的结果是:", result)

在这个例子中,如果没有发生异常,即用户没有输入0作为除数,那么程序将会正常打印出两数相除的结果result。

三、try-except-finally

最后,我们还有try-except-finally结构。**无论是否发生异常,finally之后的代码都将被执行。**这对于执行一些清理工作或总结性的输出是非常有用的:

try:
    num1 = float(input("请输入一个数字:"))
    num2 = float(input("请再输入一个数字:"))
    result = num1 / num2
except ZeroDivisionError:
    print("错误:不能除以零!")
else:
    print("两数相除的结果是:", result)
finally:
    # 无论是否发生异常,都会执行这部分代码
    print("程序执行完毕,感谢使用。")

在这个例子中,无论用户输入什么样的数字,无论程序是否出现异常,finally后面的代码都会正常运行,提示用户程序已经执行完毕。

四、自定义异常

继续上面的场景,**假设我们想要确保用户输入的不仅非零,还必须是正数。**我们可以定义一个专属的异常来处理这种情况:

# 自定义异常类
class NegativeError(Exception):
    pass

try:
    num1 = float(input("请输入一个数字:"))
    num2 = float(input("请再输入一个数字:"))
    if num2 <= 0:
        raise NegativeError("第二个数字必须大于0!")
    result = num1 / num2
except NegativeError as e:
    print("自定义异常:", e)

在这段代码中,我们定义了一个名为NegativeError的自定义异常(此处异常的名字可以随意修改)。

如果用户输入的第二个数字num2小于等于0,程序会立刻抛出这个异常,并在except中捕获,输出“自定义异常”的字样,并且会输出NegativeError的提示信息“第二个数字必须大于0!”。

通过这4款简单的异常处理代码,你可以更加灵活地处理Python中的异常情况。**异常处理不仅可以防止程序崩溃,还可以提供更友好的用户交互体验,让你的程序在面对意外情况时更加健壮。**对于编程新手来说,掌握异常处理是提升编程技能的重要一步。

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

若有侵权,请联系删除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值