Czy dobrą praktyką jest używanie try-except-else w Pythonie?
Od czasu do czasu w Pythonie widzę blok:
try:
try_this(whatever)
except SomeException as exception:
#Handle exception
else:
return something
Jaki jest powód istnienia try-except-else?
Nie lubię tego rodzaju programowania, ponieważ używa wyjątków do sterowania przepływem. Jeśli jednak jest on zawarty w języku, musi istnieć dobry powód, prawda?
Rozumiem, że wyjątki nie są błędamii że powinny być używane tylko w wyjątkowych warunkach (np. próbuję napisać plik na dysk i nie ma więcej miejsca, a może nie mam uprawnień), a nie do kontroli przepływu.
Normalnie obsługuję wyjątki jako:
something = some_default_value
try:
something = try_this(whatever)
except SomeException as exception:
#Handle exception
finally:
return something
Lub jeśli naprawdę nie chcę zwracać niczego, jeśli zdarzy się wyjątek, to:
try:
something = try_this(whatever)
return something
except SomeException as exception:
#Handle exception