【问题标题】:'exceptions.RuntimeError' - Object has no attribute 'errno' [closed]'exceptions.RuntimeError' - 对象没有属性'errno' [关闭]
【发布时间】:2018-01-31 11:28:59
【问题描述】:

我正在使用 Maya 2018,但发生了一件奇怪的事情。当我选择多个顶点、面或边时,我得到:

// Error: AttributeError: file <string> line 88: 'exceptions.RuntimeError' object has no attribute 'errno' // 
// Warning: Python callback failed // 

我编写脚本的问题在于,当出现此警告/错误时,不知何故它不允许我单击自定义 GUI 按钮。 例如。我需要选择几个顶点,然后单击一个按钮将它们保存到自定义属性中...好吧,我不能立即单击该按钮,我猜这是因为这个奇怪的错误。

关于这是什么的任何想法?

【问题讨论】:

    标签: python maya pymel


    【解决方案1】:

    在脚本的第 88 行中,您尝试使用属性 errnoRuntimeError 实例,但此异常类没有此类属性。
    在尝试处理它们之前阅读documentation of exceptions

    属性errno 仅在OSError 和继承自它的类中定义。
    所以显然第 88 行是try...except 子句的一部分,并且在该行中您尝试使用e.errno。如果异常不属于 OSError 异常家族,则不能这样做。

    【讨论】:

    • 好吧。我没有在第 88 行使用它......我的第 88 行是:code(leftTableWidget = QWidget())......文档只说它是“来自 C 变量 errno 的数字错误代码”...... .我知道这对您来说可能是一个简单的问题,但您的回答并没有真正帮助解决它....我的代码中也没有“尝试除外”...我应该在哪里处理这个错误?跨度>
    • @MendelReis 文档docs.python.org/3/library/exceptions.html#OSError 描述了OSError 类及其属性errnodocs.python.org/3/library/exceptions.html#RuntimeError 文档没有提到属性 errno 所以它没有。有时工具会弄乱实际的行号 - 请在您的脚本中搜索 errno 的出现,如果您可以粘贴使用 errnotry...except 块,那将是最好的。回溯也只有一行吗?如果没有,请在您的问题中包含回溯。
    • 如果您的代码中没有 try...except 块,那么回溯应该比 Error: AttributeError: file &lt;string&gt; line 88: 'exceptions.RuntimeError' object has no attribute 'errno' // 更长 - 请包含完整的回溯。
    • 据我的能力让我理解,这就是整个追溯......对不起。你和玛雅一起工作吗?这是带有整个脚本的 git hub link。您可以在 Maya 2017 或 2018 中运行它,看看在选择顶点时是否出现错误。有点机会这确实是一件愚蠢的事情,但是那些愚蠢的事情对初学者来说是最烦人的......谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2021-08-10
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多