【发布时间】:2011-05-20 17:50:18
【问题描述】:
在 python 代码中。当您在 Error Flag 前面看到否定的时候,这是什么意思?
返回 -errno.EACCES
【问题讨论】:
-
其他表达式前面的减号(以
1为例)是什么意思? -
即使是 Google 搜索也无法解释您实际在做什么。
标签: python
在 python 代码中。当您在 Error Flag 前面看到否定的时候,这是什么意思?
返回 -errno.EACCES
【问题讨论】:
1为例)是什么意思?
标签: python
这是一个 C 风格的错误返回。一种流行的做法是在成功时返回有意义的非负函数结果或在失败时返回负错误代码。
在这种情况下,错误 EACCES 表示permision was denied。
(另见this question)
【讨论】:
意思是否定。 errno.EACCES(权限被拒绝)是数字 13(肯定)。该代码的作者有一个约定,他希望错误号为负数,以便稍后由他们的代码解释。
想必,他采用这种约定是有原因的。例如,该函数在程序中稍后使用的非错误上返回非负整数。
【讨论】:
作者可能将错误代码限制为负值,以便能够返回各种(正)成功值。
约定似乎被某些人使用:
http://www.google.com/codesearch?hl=en&lr=&q=%22return+-errno%22+lang%3Apython&sbtn=Search
【讨论】: