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

questionAnswers(9)

yourAnswerToTheQuestion