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ãoOlá, 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!
- Usando Client Object Model do SharePoint 2010 para melhorar a Experiência do Usuário (UX)Sharepoint - Dev
- LINQ to SharePoint no SharePoint 2010Sharepoint - Dev
- SharePoint 2010: Visual WebPartsSharepoint - Dev
- Integrando Microsoft ASP .NET AJAX com SharePointSharepoint - Dev
- Utilizando Campos de Consulta (Lookup) ProgramaticamenteSharepoint - Dev