Python 向调用者传递错误的最佳实践是什么?
您通常应该将函数和类方法中发生的错误传递回调用方来处理吗?什么情况下你可能不会?我之所以这么问,是因为我正在创建一个模块来执行oauth,如果你从你试图访问的网站上得到否定的响应,我不确定我是否应该把它传递给来电者,或者在那里处理它。这通常取决于对两个问题的回答:Python 向调用者传递错误的最佳实践是什么?,python,Python,您通常应该将函数和类方法中发生的错误传递回调用方来处理吗?什么情况下你可能不会?我之所以这么问,是因为我正在创建一个模块来执行oauth,如果你从你试图访问的网站上得到否定的响应,我不确定我是否应该把它传递给来电者,或者在那里处理它。这通常取决于对两个问题的回答: 哪一层有解释错误的信息,并将其呈现给用户或开发人员 哪一层可以纠正错误,而上层无法判断错误是否发生过 逐层检查问题。找到可以捕捉、纠正和透明处理错误的地方。如果做不到这一点,请找到可以用有用的术语解释错误的地方,并用相关信息丰富错误
这通常取决于两个问题的答案:
当我们期望用户提供某个值或输入时,我们通常
raiseError
。例如:如果一个程序要求用户输入一个正整数,而他们输入的是一个负整数,我们将引发一个错误,并要求他们输入一个正整数
当用户无法处理错误时,我们会处理错误。例如:如果要访问的网站需要电子邮件验证,而用户输入的电子邮件无法识别,您可以
提出错误
,并要求他们输入有效的电子邮件地址,但如果网站有搜索栏,输入的字符串未正确拆分,我们会收到键值错误
,这取决于程序员来处理。当我们期望用户提供某个值或输入时,我们通常会提高错误率。例如:如果一个程序要求用户输入一个正整数,而他们输入的是一个负整数,我们将引发一个错误,并要求他们输入一个正整数
当用户无法处理错误时,我们会处理错误。例如:如果要访问的网站需要电子邮件验证,而用户输入的电子邮件无法识别,您可以提出错误
,并要求他们输入有效的电子邮件地址,但如果网站有搜索栏,输入的字符串未正确拆分,我们会收到键值错误
,由程序员来处理