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 / age except ValueError: print("请输入整数") except ZeroDivisionError: print("年龄不能为0") else: print(f"age is {age}") print(f"x is {x}")
方法二:
try: age = int(input("请输入年龄:")) x = 10 / age except (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异常,仍会执行except except ValueError as e: print(e) print("continue")
请输入年龄:1
你还未成年
continue
到此这篇关于python异常处理并调试的文章就介绍到这了,更多相关python异常处理调试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python 实现将小图片放到另一个较大的白色或黑色背景图片中
今天小编就为大家分享一篇python 实现将小图片放到另一个较大的白色或黑色背景图片中,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-12-12Appium+Python+pytest自动化测试框架的实战
本文主要介绍了Appium+Python+pytest自动化测试框架的实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-12-12解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
这篇文章主要介绍了解决Django部署设置Debug=False时xadmin后台管理系统样式丢失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04
最新评论