none
captura de exceção usando o Jquery. RRS feed

  • Pergunta

  • Olaa, 

     

               Sou iniciante em Asp.Net C#, estive pesquisando como fazer uma requisição Ajax, para realizar a chamada a métodos que devem me retornar valores, no qual necessito usar. Consegui realizar a requisição perfeitamente, no qual retorno todas as informações que necessito, segue abaixo o código para melhor visualização:

    1) Código da Requisição Ajax.

     function requisicaoAjax(parametros, ret) {
    
     $.ajax({
    
     type: "POST",
    
     url: 'frmCliente/retornaNomeCliente',
     data: parametros,
     contentType: "application/json; charset=utf-8",
    
     dataType: "json",
    
     success: retorno,
    
     error: function (messageExcecao, txtStatus, errThrown) {
    
     var error = parseJSON(mensagemExcecao.responseText);
    
       $("#<%= labelErro.ClientID %>").text(error.Message);
    
        }
       });
      }

     

    2) Código No Frm no qual o código anterior realiza as chamadas.

     

    [WebMethod]
    public static string retornaNomeCliente(string idCliente)
    {
    string nomeCliente = "";
    
     try{
         
    nomeCliente = Cliente.RetornaNomeCliente(idCliente);
    
    }
    
     return nomeCliente ;
    
    }
     catch (Exception)
     {
      throw;
     } 
    }

     

    Tudo funciona PERFEITAMENTE, mas me deparo com um problema, pois preciso capturar o conteúdo da exceção e atribuir ao label de erros, isso é feito através da captura da exceção pelo Jquery que atribui a respectiva exceção ao Label,segue abaixo algumas dúvidas:

    1) Lançar uma exceção dessa forma e o Jquery capturar como está sendo realizado é considerado uma má pratica ???

     

    2) Inicialmente eu tinha a intenção de não lançar essa exceção para ser capturada pelo Jquery, mas preciso setar o valor da mesma no label de erros, não posso fazer isso diretamente pois o método é estático, existe outra forma de realizar a mesma requisição mas o método não ser estático ??

     

    3) Porque obrigatoriamente o método deve ser estático ??

     

    Desde já, Agradeço.

    terça-feira, 1 de março de 2011 03:11

Respostas

  • Olá!

    Vamos às respostas:

    1) Não é uma má prática, muito pelo contrário!

    2 e 3) O método é estático pelo mesmo motivo que lançar uma exceção no item 1 é uma boa prática: porque um serviço deve, por definição, ser stateless! A boa prática diz que serviços não podem manter estado, por isso a necessidade de ele ser estático.

    Espero ter ajudado!

     


    HJ
    • Marcado como Resposta _dev quarta-feira, 16 de março de 2011 03:20
    sexta-feira, 4 de março de 2011 13:38

Todas as Respostas

  • Olá!

    Vamos às respostas:

    1) Não é uma má prática, muito pelo contrário!

    2 e 3) O método é estático pelo mesmo motivo que lançar uma exceção no item 1 é uma boa prática: porque um serviço deve, por definição, ser stateless! A boa prática diz que serviços não podem manter estado, por isso a necessidade de ele ser estático.

    Espero ter ajudado!

     


    HJ
    • Marcado como Resposta _dev quarta-feira, 16 de março de 2011 03:20
    sexta-feira, 4 de março de 2011 13:38
  • Prezado Hamiltonj,

     

                               Muito obrigado pela atenção, minha dúvida foi sanada.

     

     

    grande abraço.

    quarta-feira, 16 de março de 2011 03:07