所以我有一个python函数:
def send_data():
return instance.handleData(otherinstance.getData())
在一个类中我有getData
,一个获取数据并在dict中返回它的函数:
def getData(self):
data = self.makeRequest('data')
latestData = data['values'][0]
return latestData
之后,dict(latestData
)将在函数形式的另一个类中使用,其值将被正确格式化:
def handleData(self, data):
handledData = {}
handledData['name'] = data.get('display', 'display not set')
# some other stuff...
return handledData
最后,来自handleData
的返回值将由send_data
传递给JavaScript,如果没有数据/数据不存在,我应该在我的html页面上显示正确的错误消息完整。
我想知道错误处理的最佳方法是什么,我应该首先在KeyError
中引发getData()
例外吗?如果是这样,那么应该将什么传递给handleData
?只是一个错误代码,意味着没有数据,将被发送回send_data
?问题是,我必须知道JavaScript中的错误,以显示正确的消息(例如'找不到值')
答案 0 :(得分:0)
假设您将字符串传递给JV没有问题,我个人会在Python中处理错误:
try:
# do something
except ValueError: # give a specific error if possible
# exception()
# possibly passing an error message to JV
else:
# do other something
,请查看此link以了解错误和例外情况。
而且我只是将一个字符串传递给JV,确保在JV中没有错误(或除了处理字符串之外的错误管理)。当然,这是假设您的大部分代码都是Python的。
我的观点基于我自己的软件设计偏好。我宁愿让Python处理Python错误,而不是让JV解释Python错误(尽管它似乎确实有效)。
我认为如果你把它混淆得很多,你的可读性就会变差,而且JV开发人员使用代码会更加困难(假设它不熟悉Python)。结论:如果我的前线在JV中,我会尽可能隐藏Python。