¿Es una buena práctica usar try-except-else en Python?

De vez en cuando en Python, veo el bloque:

try:
   try_this(whatever)
except SomeException as exception:
   #Handle exception
else:
   return something

¿Cuál es la razón para que exista el intento, excepto el otro?

No me gusta ese tipo de programación, ya que está utilizando excepciones para realizar el control de flujo. Sin embargo, si está incluido en el idioma, debe haber una buena razón para ello, ¿no es así?

Entiendo que las excepciones no son errores.y que solo deben usarse en condiciones excepcionales (por ejemplo, intento escribir un archivo en el disco y no hay más espacio, o tal vez no tengo permiso), y no para el control de flujo.

Normalmente manejo las excepciones como:

something = some_default_value
try:
    something = try_this(whatever)
except SomeException as exception:
    #Handle exception
finally:
    return something

O si realmente no quiero devolver nada si ocurre una excepción, entonces:

try:
    something = try_this(whatever)
    return something
except SomeException as exception:
    #Handle exception

Respuestas a la pregunta(9)

Su respuesta a la pregunta