Estou tentando aplicar uma lógica que faça o segundo ValuError e não estou conseguido, segue o código:
# Filtros
try:
treinador = [df["treinador"].unique()]
treinador_default = treinador[0]
filtro_treinadores = st.sidebar.multiselect('Treinador', df['treinador'].unique(), max_selections=1)
if filtro_treinadores:
df = df[df['treinador'].isin(filtro_treinadores)]
else:
raise ValueError("Selecione um treinador.")
alunos = [df["aluno"].unique()]
aluno_default = alunos[0]
filtro_alunos = st.sidebar.multiselect('Aluno', df['aluno'].unique(), max_selections=1)
if filtro_alunos:
df = df[df['aluno'].isin(filtro_alunos)]
# Suponha que df_anamnese e df_avaliacao_fisica também precisam ser filtrados
df_anamnese = df_anamnese[df_anamnese['aluno'].isin(filtro_alunos)]
df_avaliacao_fisica = df_avaliacao_fisica[df_avaliacao_fisica['aluno'].isin(filtro_alunos)]
else:
raise ValueError("Selecione um aluno.")
except ValueError as ve:
# Exibir a mensagem de erro do primeiro ValueError e continuar em caso de segundo ValueError
st.error(str(ve))
except Exception as e:
if isinstance(e, ValueError):
# Ignorar outros ValueErrors
pass
else:
# Lidar com outros tipos de exceção
pass
após selecionado o treinador e o aluno, não segundo ValueError, por isso não sentido que eu trate nas funções.