python异常处理并调试的方法
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍“python异常处理并调试的方法”,在日常操作中,相信很多人在python异常处理并调试的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python异常处理并调试的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
前言:
异常是错误出现时,可以在正常的控制流程之外采取的行为。
一、try-except
try: age = int(input("请输入年龄:")) if age >= 18: print("你已成年") else: print("你未成年")except ValueError as error: print("输入不合法") print(error)print("程序结束")
请输入年龄:abc
输入不合法
invalid literal for int() with base 10: 'abc'
程序结束
二、try-except-else
若没异常没执行except,则执行else里的语句
try: age = int(input("请输入年龄:"))except ValueError as error: print("输入不合法")else: if age >= 18: print("你已成年") else: print("你未成年") print("程序结束")
请输入年龄:a
输入不合法
程序结束
三、try-except-finally
finally 无论是否发生异常,都得执行,如关闭文件
try: file = open("text.txt", "w") # 打开文件 s = "hello world" file.write(s) # 操作文件except: print("操作异常")finally: # 无论是否发生异常,都得执行 file.close() # 关闭文件 print("关闭文件")
四、处理多个异常
方法一:
try: age = int(input("请输入年龄:")) x = 10 / ageexcept ValueError: print("请输入整数")except ZeroDivisionError: print("年龄不能为0")else: print(f"age is {age}") print(f"x is {x}")
方法二:
try: age = int(input("请输入年龄:")) x = 10 / ageexcept (ValueError, ZeroDivisionError): print("请输入合理的年龄")else: print(f"age is {age}") print(f"x is {x}")
五、raise主动抛出异常
try语句中,遇到了异常才会抛出异常
raise是为了主动抛出异常
def is_adult(age): if age < 18: raise ValueError("你还未成年")try: age = int(input("请输入年龄:")) is_adult(age) # 已经抛出<18的异常,except不会执行。如果是其他abc异常,仍会执行exceptexcept ValueError as e: print(e)print("continue")
请输入年龄:1
你还未成年
continue
到此,关于“python异常处理并调试的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341