これは以前に尋ねられたかもしれませんが、私は過度に賢いかもしれませんが、自分の検索が空になっています。モジュールが正しいバージョンでない場合、どの例外をスローする必要がありますか?
Python 2.x exceptions pageを見れば、raise
は、私のスクリプトがインポートされたモジュールの__version__
が、 cv2
は、正しいバージョンではありません。たとえば、私が取り組むスクリプトにはOpenCVバージョン3が必要です。次のブロックの中でraise
の最高の例外は何ですか?
import cv2
if not cv2.__version__.startswith('3'):
raise ValueError('OpenCV _3_ required')
ああ、私は自分自身を追加することができます、私はすでに利用可能なものに興味があっただけです。しかし、これも動作します! – bjd2385
これは私にとって過度の気分です。また、 '__init__'を提供することでこれを単純化することもできます。 'class VersionError(Exception):pass'はうまくいくでしょう。(もしあなたが実際に余分なマイルを使いたいのなら、' pass'のisnteadを追加することができます) – mgilson
うまく動作します。しかし、OPは独自のカスタムメッセージを渡していたので、 'msg'パラメータで' __init__'呼び出しを追加するべきだと感じました。 – dunder