Ich habe den folgenden Code:Python Anprobe außer mit der, wenn sonst
try:
pk = a_method_that_may_raise_an_exception()
except:
method_to_be_executed_in_case_of_exception_or_pk_is_false()
else:
if pk:
process_pk()
else:
method_to_be_executed_in_case_of_exception_or_pk_is_false()
Dieses geschrieben werden könnte:
try:
if a_method_that_may_raise_an_exception():
process_pk()
else:
method_to_be_executed_in_case_of_exception_or_pk_is_false()
except:
method_to_be_executed_in_case_of_exception_or_pk_is_false()
ich nicht glücklich bin, dass die Methode method_to_be_executed_in_case_of_exception_or_pk_is_false()
erscheint zweimal, dh in anderen von beiden wenn und versuchen ... außer.
Gibt es einen besseren Weg, dies zu tun?
Persönlich würde ich einen nackten 'except' darüber, dass als in dem Aufruf die gleiche Funktion von zwei Stellen mehr Sorgen zu machen. Sie sollten dies umschreiben, um nur die Ausnahmen zu erfassen, von denen Sie erwarten, dass sie ausgelöst werden. – Duncan
Beachten Sie, dass Ihr zweites Beispiel _not_ dem ersten Beispiel entspricht, da 'method_to_be_executed_in_case_of_exception_or_pk_is_false 'selbst eine Ausnahme auslösen könnte, die dazu führt, dass es zweimal ausgeführt wird! – Eric