开发者

python异常处理并调试

目录
  • 一、try-except
  • 二、try-except-else
  • 三、try-except-finally
  • 四、处理多个异常
  • 五、raise主动抛出异常

前言:

异常是错误出现时,可以在正常的控制流程之外采取的行为。

python异常处理并调试

python异常处理并调试

一、try-except

python异常处理并调试

try:
  age = int(input("请输入年龄:"))
  if age >= 18:
    print("你已成年")
  else:
    print("你未成年"LniLAgrEwy)
except ValueError as error:
  print(编程客栈"输入不合法")
  print(error)


print("程序结束")

请输入年龄:abc

输入不合法

invalid literal for int() with base 10: 'abc'

程序结束

二、try-except-else

若没异常没执行except,则执行else里的语句

python异常处理并调试

try:
  age = int(input("请输入年龄:"))

except ValueE编程客栈rror 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("请输入年龄:"))LniLAgrEwy
  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异常处理调试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜