这篇文章主要介绍“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异常处理并调试的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。