我有一个脚本,它使用pygetwindow
模块在特定窗口上执行一些操作。脚本运行时,出现以下异常:
File "C:\Program Files (x86)\Python38-32\lib\site-packages\pygetwindow\_pygetwindow_win.py", line 237, in activate
_raiseWithLastError()
File "C:\Program Files (x86)\Python38-32\lib\site-packages\pygetwindow\_pygetwindow_win.py", line 97, in _raiseWithLastError
raise PyGetWindowException('Error code from Windows: %s - %s' % (errorCode, _formatMessage(errorCode)))
pygetwindow.PyGetWindowException: Error code from Windows: 0 - The operation completed successfully.
我对异常的发生没有意见,但是我想明确地捕捉这个异常。我已执行以下操作以尝试捕获此异常:
try:
#implementation
except pygetwindow.PyGetWindowException:
#handle exception
及
try:
#implementation
except PyGetWindowException:
#handle exception
以上两种方法都不能捕捉到例外。如果我使用上述任一项,我会得到另一个例外:
NameError: name 'PyGetWindowException' is not defined
或
NameError: name 'pygetwindow' is not defined
我不想捕获一般的Exception
然后处理它,因为在其他异常的情况下,我希望以不同的方式处理它。我试图捕获此异常的方式是否有问题,或者是否有方法完全避免此异常
编辑:非常清楚,我已经导入了pygetwindow
更新
从source文件可以清楚地看出,为了使用
PyGetWindowException
,您需要专门导入异常(而不仅仅是import pygetwindow
)。因此,为了捕获异常,必须执行以下操作:导入后,您可以按正常方式使用异常:
更新2
另一种通用的方法是从通用异常中get the exception name并进行比较
原始答案(不推荐)
在这个answer中找到了解决这个问题的方法
从{}的{a1}可以清楚地看出,每当提出{}时,都会伴随着以下文本:
它指示Windows提供的错误代码
根据这些信息,我做了以下工作:
这是解决问题的另一种方法(尽管第一种和第二种方法是正确和直接的解决方案)
你应该有
import pygetwindow
在你的脚本乞求。它抱怨不知道什么是pygetwindow
相关问题 更多 >
编程相关推荐