Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde. Estou aqui com um pequeno "problema" e gostaria de saber se alguem me pode ajudar.O código é o seguinte:
catch (Exception a) { MessageBox.Show("Ocorreu um problema"); MessageBox.Show(a.Message); }
Eu gostaria que em vez que me fosse retornada uma mensagem, me fosse retornado um Número de erro.Obrigado
Você pode ter vários catch's cada um com uma classe específica de erro (classem que podem até ser criadas por você). E caso o erro esteja dentro do especificado, ele apresenta a mensagem com o número desejado. Esta é uma boa prática, uma vez que você não obriga o compilador a procurar qual a classe do erro antes de mostrar a mensagem. Por último, deixe a classe genérica Exception. Assim se ele não encontrar nenhuma delas, mostra o erro de qualquer jeito.
catch (FormatException erro){ throw new FormatException ("Erro 01: " + erro.Message);}catch (EvaluateException erro){ throw new EvaluateException ("Erro 02: " + erro.Message);}catch (Exception erro){ throw new Exception ("Erro 03: " + erro.Message);}
Boa tarde Celso.
Não entendi asua dúvida.
O que você pode fazer é trabalhar com as informações que são retornadas pela classe Exception do .NET.
Caso você queira retornar informações próprias, tente criar sua própria classe de Excessão que herde da classe Exception, e a partir daí você implementa suas próprias informações.
Ou o mais simple, você pode utilizar o Throw, exemplo:
Throw new Exception("Erro número: 007. Descrição: James Bond")
Lembre-se, o método Throw (que significa "levantar") seguido da keyword "new" irá gerar uma excessão personalizada para você na sua aplicação.
Espero que ajude.