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所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
若有侵权,请联系删除