Value processing null c #

1

I have a method that gives me an execption, how do I handle this ?: thanks

 public string CarregaProdutosDermaClube(string codigoproduto)
{
    //consulta os dados
    var tbuscar = new BuscaProdutosDermaClubeDAL();
    var retorno = tbuscar.ProdutoDermaClube(codigoproduto);

    if (string.IsNullOrEmpty(retorno.idproduto))
    {
        return "0";
    }
    else
    {
        return "1";
    }
}

    
asked by anonymous 01.06.2017 / 16:11

3 answers

1

Using ternary

 public string CarregaProdutosDermaClube(string codigoproduto)
        {
            //consulta os dados
            return string.IsNullOrEmpty(new BuscaProdutosDermaClubeDAL().
                                 ProdutoDermaClube(codigoproduto)?.idproduto)? "0" : "1";
        }
    
01.06.2017 / 16:58
0

If you are using Visual Studio from the 2015 version:

public string CarregaProdutosDermaClube(string codigoproduto)
{
    //consulta os dados
    var tbuscar = new BuscaProdutosDermaClubeDAL();
    var retorno = tbuscar.ProdutoDermaClube(codigoproduto);

    if (string.IsNullOrEmpty(retorno?.idproduto))
    {
        return "0";
    }
    else
    {
        return "1";
    }
}

In previous versions:

public string CarregaProdutosDermaClube(string codigoproduto)
{
    //consulta os dados
    var tbuscar = new BuscaProdutosDermaClubeDAL();
    var retorno = tbuscar.ProdutoDermaClube(codigoproduto);

    if (retorno == null || string.IsNullOrEmpty(retorno.idproduto))
    {
        return "0";
    }
    else
    {
        return "1";
    }
}
    
01.06.2017 / 16:18
-1

You should normally use a try / catch block when there is information exchange between applications, if any, between your software and the database. It is also good practice to use a logging framework to record exceptions generated on your system.

Another point is the return of your method, as it returns "0" or "1" rather than using bool (true / false) indicating whether or not the product was successfully loaded.

 public bool CarregaProdutosDermaClube(string codigoproduto)
        {
            try
            {
                //consulta os dados
                var tbuscar = new BuscaProdutosDermaClubeDAL();
                var retorno = tbuscar.ProdutoDermaClube(codigoproduto);
                return retorno != null ? true : false;

            }
            catch (Exception ex)
            {
                // você pode logar a exceção capturada em "ex"
                return false;
            }
        }
    
02.06.2017 / 13:02