Pessoal queria cair no Exception e testar o tratamento de erro que tem no CATH, alguem consegue me ajudar com isso, gostaria de passar uma mensagem no Exception e não mandar a mensagem que esta vindo do erro.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal queria cair no Exception e testar o tratamento de erro que tem no CATH, alguem consegue me ajudar com isso, gostaria de passar uma mensagem no Exception e não mandar a mensagem que esta vindo do erro.
Olá Tiago!
Fica meio complicado sem saber exatamente o que você quer testar e o que você quer tratar. Mas em linhas gerais, você abre o seu bloco try, faz a verificação e depois você coloca no bloco catch e/ou finally o que você quer que aconteça caso ocorra o erro.
Veja se a documentação sobre tratamento de erros te ajuda com isso. Caso contrário, coloque seu código e diga exatamente o que você pretende fazer quando der o erro.
Espero ter ajudado!
acho que não soube explicar na verdade no meu codigo tem um try catch
e no cath ele pela o Exception ex e verifica a mensagem que esta vindo
exemplo
cath (Exception ex) { if(ex.messange.contais("database") ex.messange = "Erro no banco de dados"; }
eu queria testar esse cath aonde eu colocaria o valor do EX
deu pra entender?
Certo Tiago, se bem entendi você quer testar o valor da mensagem da sua exceção?
Se for isso, estava olhando classe Exception e os atributos são todos somente leitura inclusive o Message, então não vai conseguir alterar essa mensagem:

Mas acredito que você possa fazer o teste diretamente no Assert:
var ex = Assert.Throws<Exception>(() => MetodoQueDeveGerarAExcecao());
Assert.Contains("database", ex.Message);Caso queira, compartilhe seu teste para que a gente possa ver o que podemos fazer para ajudar.