Está 'correto' usar o try-except dessa forma ou teria outra forma mais 'adequada'
lista_numeros = [1,2,3,4,'a',5,6,7]
contador = 0
soma = 0
for index, numero in enumerate(lista_numeros):
try:
soma += numero
except Exception as e:
print(f'Ocorreu um erro: {e} na posição {index}')
contador += 1
try:
print(f'A média dos numeros na lista é {soma/(len(lista_numeros) - contador)}')
except ZeroDivisionError:
print('A lista está vazia não é possível calcular a média')
O primeiro lidaria com erros dentro da própria lista e o segundo no caso de ela estar vazia