我正在编写一些代码来操纵Windows剪贴板。我要做的第一件事是尝试使用Windows API中的OpenClipboard()
函数打开剪贴板:
if OpenClipboard(None):
# Access the clipboard here
else:
# Handle failure
此功能可能失败。所以,如果确实如此,我想提出一个例外。我的问题是,我应该提出哪些标准Python异常?我在想WindowsError
是正确的,但不确定。有人可以给我一个建议吗?
答案 0 :(得分:3)
最好避免直接提高标准异常。创建自己的异常类,从最合适的类中继承它(WindowsError
即可)并提升它。这样,您就可以避免在自己的错误和系统错误之间产生混淆。
答案 1 :(得分:1)
WindowsError似乎是一个合理的选择,它会为您记录额外的错误信息。来自文档:
异常WindowsError
发生特定于Windows的错误或错误号与errno值不对应时引发。 winerror和strerror值是从Windows Platform API中的GetLastError()和FormatMessage()函数的返回值创建的。 errno值将winerror值映射到相应的errno.h值。 ...
答案 2 :(得分:1)
提高Windows错误并给它一些额外的信息,例如
raise WindowsError("Clipboard can't be opened")
然后,当它被调试时,它们可以告诉你的Windows错误意味着什么,而不仅仅是随机的窗口错误。