Desenvolvimento - Sharepoint - Dev

Tratamento de Exceções no SharePoint

Hoje venho com uma dica para tratamento de Exceções em códigos customizados para SharePoint.

por Douglas Romão



Olá, mais uma vez Pessoal!

Bom, hoje venho com uma dica para tratamento de Exceções em códigos customizados para SharePoint.

Você, desenvolvedor como eu, já deve ter quebrado a cabeça tentando imaginar qual erro está dando em determinado código customizado que você está desenvolvendo (WebPart Customizada, Workflow, UserControls), então aqui segue uma dica simples, mas muito eficaz que aprendi junto com um colega de trabalho ( segue blog do meu colega de trabalho Michael Lima –
http://mlimablog.spaces.live.com/ – Blog SharePoint + .NET) para que saibamos pelo menos "o caminho das pedras" quando ocorre alguma exceção no nosso código.

A dica é salvar a exceção em uma lista de Logs.
Simples, não é?

Antes de ver o código, vamos criar uma lista chamada "LogErros", e adicionar dois campos (no meu exemplo), os campos Metodo e Erro.

Bom, com a lista criada fiz um código simples para implementarmos o código de Log de Erros, segue abaixo:

Estou utilizando como exemplo um código rodando no PageLoad, e utilizando o try/catch, faremos o tratamento da exceção.
Quando ele entrar no catch, chamará um método responsável por Logar o Erro na Lista:

        protected void Page_Load(object sender, EventArgs e)

        {

            try

            {

                /*Aqui vai o código*/

            }

            catch (Exception e)

            {

                /*Chamando o Método para Logar Erro */

                LogandoErro(e, "Método que deu erro()");

            }

        }

        private void LogandoErro(Exception erro, string strMetodo)

        {

            /*Configurando os objetos do SharePoint*/

            SPSite objSite = new SPSite("URL DO MEU SITE");

            SPWeb objWeb = objSite.OpenWeb();

            /*Configurando a Lista em que vamos logar o Erro*/

            SPList objLista = objWeb.Lists["LogErros"];

            /*Adicionando um Item na Lista de Logs*/

            SPItem objItem = objLista.Items.Add();

            /*Atribuindo os valores aos campos da Lista

             * Defina o nome dos Campos na Lista */

            objItem["Metodo"] = strMetodo;

            objItem["Erro"] = erro.ToString();

            /*Permitindo updates na lista*/

            objWeb.AllowUnsafeUpdates = true;

            /*Concluindo a operação*/

            objLista.Update();

        }

Com isso teremos um registro dos erros no código customizado, facilitando muito nosso trabalho.
Bom esse é uma dica simples de se fazer, porém muito eficaz.

Por hoje é só, qualquer dúvida ou sugestão, comentem!
Abraços e até a próxima!

Douglas Romão

Douglas Romão - Graduando em Análise e Desenvolvimento de Sistemas, tem desenvolvido projetos com SharePoint e .Net desde 2008, provendo soluções colaborativas e corporativas para multinacionais e outras empresas de São José dos Campos - SP com sua própria empresa voltada a desenvolvimento, chamada Belief - Soluções em Tecnologia.
Atua também desenvolvendo projetos .Net, SharePoint, Flex entre outras tecnologias de ponta por conta própria.
Blog:
http://douglasromao.spaces.live.com/