[英]Which Python exception should I throw?
我正在编写一些代码来操纵Windows剪贴板。 我要做的第一件事是尝试使用Windows API中的OpenClipboard()
函数打开剪贴板:
if OpenClipboard(None):
# Access the clipboard here
else:
# Handle failure
此功能可能会失败。 因此,如果有的话,我想提出一个例外。 我的问题是,我应该提出哪些标准的Python异常? 我认为WindowsError
是正确的选择,但不确定。 有人可以给我一个建议吗?
最好避免直接引发标准异常。 创建自己的异常类,从最合适的异常类继承( WindowsError
可以)并引发它。 这样,您将避免自己的错误和系统错误之间的混淆。
WindowsError似乎是一个不错的选择,它将为您记录更多的错误信息。 从文档:
WindowsError异常
在发生Windows特定错误或错误号与errno值不对应时引发。 Winerror和strerror值是根据Windows Platform API的GetLastError()和FormatMessage()函数的返回值创建的。 errno值将winerror值映射到相应的errno.h值。 ...
引发Windows错误并为其提供一些额外信息,例如
raise WindowsError("Clipboard can't be opened")
然后,在对其进行调试时,它们可以告诉您Windows错误的含义,而不仅仅是一个无所不能的随机Windows错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.