ブランケットexceptを使用するのではなく、代わりにキャッチを使用する必要がありExceptionます。
try:
myFunction()
except Exception:
print "Error running myFunction()"
Exceptionクラスは、ほとんどの例外の基本クラスですが、そうではありません SystemExit。GeneratorExitおよび と一緒にKeyboardInterrupt、代わりにSystemExitのサブクラスです。BaseException
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- Everything else
Exception一方、 は のサブクラスでもBaseExceptionあり、残りの Python 例外クラスは、直接ではなく、そこから派生していBaseExceptionます。キャッチExceptionすると、派生したすべての例外がキャッチされますが、兄弟クラスはキャッチされません。
例外階層を参照してください。
そのため、ブランケットステートメントはほとんど使用しないでください。except:例外ハンドラーを常に特定の例外に制限するか、せいぜいcatchに制限してくださいException。