Pessoal, no caso, eu queria tentar mostrar ao usuário qual parâmetro está errado, se é número de agência ou o número da conta ou se é os dois. Como faço isso?
Eu tentei fazer sozinho mas ele está apenas mostrando um dos erros e não os dois quando crio uma conta com os dois parâmetros errados, acho que é devido a condicional OU que inseri no if, porém não estou conseguindo consertar isso.
Alguém me ajuda? Seguem os códigos:
Código na classe ContaCorrente:
public ContaCorrente(int numero_agencia, string numero_conta)
{
this.numero_agencia = numero_agencia;
this.Conta = numero_conta;
if(numero_agencia <= 0 || string.IsNullOrEmpty(numero_conta) ||numero_conta.Length <= 0)
{
if(numero_agencia <= 0)
{
throw new ArgumentException("O número da agência deve ser maior que zero!", nameof(numero_agencia));
}
else
{
throw new ArgumentException("O número da conta corrente deve ter um comprimento maior que zero!", nameof(numero_conta));
}
}
Código no Program.cs:
try
{
ContaCorrente conta1 = new ContaCorrente(0, ""); //aqui entram os dois parâmetros: numero_agencia e o numero_conta
}
catch(ArgumentException ex)
{
Console.WriteLine($"Erro: {ex.Message}");
Console.WriteLine($"Parâmetro com erro: {ex.ParamName}");
}