gpt4 book ai didi

python - 我应该如何使用 try...except 来定义一个函数?

转载 作者:太空狗 更新时间:2023-10-30 01:45:23 24 4
gpt4 key购买 nike

我发现当我不需要使用 try..except 时,我一直对这个问题感到困惑。最近几天我定义的几乎每个函数都使用了它,我认为可能一个不好的做法。例如:

class mongodb(object):

def getRecords(self,tname,conditions=''):
try:
col = eval("self.db.%s" %tname)
recs = col.find(condition)
return recs
except Exception,e:
#here make some error log with e.message

我的想法是,可能到处都会出现异常,我必须使用 try 来获取它们。我的问题是,在定义函数时在任何地方都使用它是一种好习惯吗?如果没有,有什么原则吗?帮助将不胜感激!

问候

最佳答案

这可能不是最好的做法。整个异常(exception)点是您可以在与提出的级别非常不同的级别上捕获它们。最好在您有足够信息的地方处理它们以对它们有用(这非常依赖于应用程序和上下文)。

例如下面的代码可以抛出 IOError("[Errno 2] No such file or directory"):

def read_data(filename):
return open(filename).read()

在那个函数中你没有足够的信息来用它做一些事情,但是在你实际使用这个函数的地方,如果出现这种异常,你可以决定尝试不同的文件名或向用户显示错误,或者其他:

try:
data = read_data('data-file.txt')
except IOError:
data = read_data('another-data-file.txt')
# or
show_error_message("Data file was not found.")
# or something else

关于python - 我应该如何使用 try...except 来定义一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2560137/

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