を処理した後、私のようなクラスを持っている:のpython出口例外
class TestClass(object):
def __init__(self, *args):
try:
## check some condition
except:
return
## Should exit class
def do_something_else(self):
...
def return_something(self):
## return something
は今、私のようなクラスを呼び出すようにしようとしています:
TestClass(arg1, arg2, ..).do_something_else()
somthing = TestClass(arg1, arg2, ..).return_something()
私は最初のコマンドを実行すると、私の条件が失敗しました例外を発生させます。 私が望むのは、__init__
の関数で何らかの例外が発生した場合、do_something_method
は呼び出されず、制御フローが2番目のコマンドに進むはずです。
2番目のコマンドでは、すべての条件が満たされ、return_something
関数を呼び出す必要があります。
どうすればこの問題を解決できますか?
[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the- xy-問題)。あなたはクラスを "終了"しません - あなたは実際何をしようとしていますか? –
私は、この関数が呼び出される分散タスク・キュー(セロリ)を持っています。私は、セロリのエラーログを最小限に抑え、代わりにデータベースログにエラーを格納したいと考えています。そのため、条件が満たされない場合にクラスを初期化する際に、エラーログの詳細をデータベースログに保存して、クラスを終了します。データを返すメソッドと、他のデータを処理するメソッドがあります。それ以外の場合は、関数を '__init__'関数から呼び出すことになりました。 –