質問は良いと悪い練習に関連しています: 私は関数の初めに渡された引数をチェックするので、何かが間違っているときにエラーコードを返します(例えば、NULL
ポインタ)。Pythonでエラーが発生するのはいつですか?
Queue
オブジェクトがNone
であるか間違った型の無効なキューオブジェクトを操作しようとすると、Pythonでは例外が自動的に発生します。
def foo(queue):
if issubclass(Queue, arg):
raise ...
# ...
またはエラーではなく取り扱う必要があるように、事前にデータ型をチェックすることをお勧めし何かが間違っていたので、呼び出し元の関数のための課題として残され?私は最初のやり方でそれをするように誘惑されますが、それは間違っているかもしれないと感じます。
私は、良い機能とモジュールはすべて、組み込みのエラー処理メソッドを持つべきだと思います。 – ShreyasG
他には何もありませんが、ダックタイピングの重要なポイントは、何かが特定のタイプのサブクラスであることをテストしてはならないことです。何かを何かチェックする必要がある場合は、呼び出す必要のある属性やメソッドがあるかどうかをチェックします。 –
私は初期の失敗はどんな言語でも良いことだと思います。 – khelwood