需要帮助理解这个python错误返回(谷歌搜索没有帮助)

时间:2011-05-20 17:50:18

标签: python

在python代码中。当您在错误标记前面看到否定时,它意味着什么?

return -errno.EACCES

3 个答案:

答案 0 :(得分:2)

这是一个C风格的错误返回。一种流行的做法是在成功时返回函数的有意义的非负结果,或在失败时返回负的错误代码。

在这种情况下,错误EACCES表示permision was denied

(另见this question

答案 1 :(得分:1)

作者可能将错误代码限制为负值,以便能够返回各种(正)成功值。

有些人似乎使用了这个惯例:
http://www.google.com/codesearch?hl=en&lr=&q=%22return+-errno%22+lang%3Apython&sbtn=Search

答案 2 :(得分:1)

这意味着否定。 errno.EACCES(许可被拒绝)是数字13(正面)。该代码的作者有一个约定,他希望错误编号为负数,以便稍后由他们的代码解释。

据推测,他有理由采用这一惯例。例如,该函数返回非错误的非负整数,稍后将在程序中使用。