Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
2
respostas

Exception

Olá, não ficou muito claro para mim quando eu devo usar uma classe herdada da classe Exception, e quando eu devo usar o ArgumentException()?

Outra dúvida, estou tentando implementar uma validação com exceção para validar que um valor obrigatoriamente seja numérico (no caso, double). Como eu testo no C# se a minha variável é do tipo que eu quero? Ou como saber o tipo da minha variável para tratá-la?

2 respostas
solução!

Opa Thiago!

Já existem várias classes de Exception "padrão" para casos comuns de erros. ArgumentException por exemplo representa um parâmetro que foi passado invalidamente para um método. Existem outras classes para representar as exceções mais comuns, você pode pesquisar em https://msdn.microsoft.com/en-us/library/ms229007(v=vs.110).aspx

Você cria uma classe de Exception sua(herdando de Exception) quando você quiser representar um erro de negócio de negócio específico seu(como por exemplo, Saldo Insuficiente).

Para saber o tipo de uma variável, você pode usar o is:

var c1 = new Conta();
if(c1 is Conta)
{
    //faz algo
}

Obrigado Gabriel!