这篇文章主要介绍“python异常处理并调试的方法”,在日常操作中,相信很多人在python异常处理并调试的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python异常处理并调试的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
前言:
异常是错误出现时,可以在正常的控制流程之外采取的行为。
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'
程序结束
若没异常没执行except,则执行else里的语句
try:
age = int(input("请输入年龄:"))
except ValueError as error:
print("输入不合法")
else:
if age >= 18:
print("你已成年")
else:
print("你未成年")
print("程序结束")
请输入年龄:a
输入不合法
程序结束
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}")
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异常处理并调试的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。