gpt4 book ai didi

python - Python 中的异常是什么?

转载 作者:行者123 更新时间:2023-11-28 22:58:49 25 4
gpt4 key购买 nike

我已经阅读了三本初级 Python 书籍,但是,我仍然不了解异常。

谁能给我一个高层次的解释?

我想我明白异常是代码或过程中导致代码停止工作的错误。

最佳答案

在过去,当人们用汇编语言或 C 编写时,每次调用一个可能会失败的函数时,您都必须检查它是否成功。所以你会有这样的代码:

def countlines(path):
f = open(path, 'r')
if not f:
print("Couldn't open", path)
return None
total = 0
for line in f:
value, success = int(line)
if not success:
print(line, "is not an integer")
f.close()
return None
total += value
f.close()
return total

异常背后的想法是你不必担心那些异常情况,你只需要这样写:

def countlines(path):
total = 0
with open(path, 'r') as f:
for line in f:
total += int(line)
return total

如果 Python 无法打开文件,或将行变成一个整数,它会抛出一个异常,它会自动关闭文件,退出你的函数,并退出你的整个程序,打印出有用的调试信息。

在某些情况下,您希望处理异常而不是让它退出您的程序。例如,您可能想打印错误消息,然后要求用户提供不同的文件名:

while True:
path = input("Give me a path")
try:
print(countlines(path))
break
except Exception as e:
print("That one didn't work:", e)

一旦您了解了异常试图实现的基本思想,the tutorial有很多有用的信息。

如果你想要更多的背景,Wikipedia可以提供帮助(尽管在您理解基本概念之前这篇文章不是很有用)。

如果您仍然不明白,请提出更具体的问题。

关于python - Python 中的异常是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com