[英]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.