以前可能有人問過我,或者我可能過於迂腐,但是我自己的搜索已經空了。如果模塊不是正確的版本,應拋出哪個異常?
通過Python 2.x exceptions page看,我不知道哪一個我應該raise
如果我的腳本確定一個已經導入的模塊的__version__
,例如cv2
,不是正確的版本。例如,我正在處理的腳本需要OpenCV版本3;如果確定版本!= 3,那麼raise
在以下塊中的最佳例外是什麼?
import cv2
if not cv2.__version__.startswith('3'):
raise ValueError('OpenCV _3_ required')
啊,是的,我意識到我可以加我自己的,我只是對那些已經可用的好奇。但是,這也有效! – bjd2385
這對我來說有點矯枉過正。另外,你可以通過_not_來提供一個'__init__'來簡化它。 'class VersionError(Exception):pass'會工作得很好(或者,如果你真的想多走一步,你可以添加一個docstring而不是'pass') – mgilson
是的。但是由於OP已經通過了他們自己的定製消息,我覺得我應該用'msg'參數添加'__init__'調用。 – dunder