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
 
            