none
Mensagem de erro no sharepoint RRS feed

  • Pergunta

  • Boa tarde,

    Gostaria de saber se alguém sabe como exibir uma mensagem de erro no sharepoint, tipo aquelas no windows form.

    try

    {

    //blablabla

    }

    catch

    {

    MessageBox.show("erro");

    }

    Atc,

    André Machado

    quarta-feira, 15 de agosto de 2012 20:43

Respostas

  • Oi André,

    você pode utilizar a página padrão de erros do SharePoint.

    Exemplo:

    try { ... }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }


    ROBERTOSLJUNIOR

    quarta-feira, 15 de agosto de 2012 22:13
  • A resposta do Roberto esta correcta mas tambem e possivel utilizar outros objectos como "SPException", nem todas as excepçoes do SharePoint sao reconhecidas pelo objecto "Exception"

     throw new SPException("mensagem de erro");

    ou

    try { ... }
    catch(SPException SPex)
    { 
       SPUtility.TransferToErrorPage(SPex.Message) 
    }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }

    ou exemplo acontece com erros de Web Services ai tera que utilizar objecto "SoapException" para capturar erro.

    "throw new SoapException(mensagem de erro)"

    try { ... }
    catch(SoapException SoapEx)
    { 
       SPUtility.TransferToErrorPage(SoapEx.Message) 
    }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }

    Se apenas pretenderes enviar um mensagem de alerta de Javascript podes utilizar o seguinte codigo para injectar o Javascript via server side.

    catch(SPException SPex)
    { 
       Response.Write("<script>alert('"+ Server.HtmlEncode(SPex.ToString()) + "')</script>"); 
    
    }
    catch(Exception ex)
    { 
       Response.Write("<script>alert('"+ Server.HtmlEncode(ex.ToString()) + "')</script>"); 
    
    }

    ou

    catch(SPException SPex)
    { 
       ClientScript.RegisterClientScriptBlock(typeof(Page), "Erro" + DateTime.Now, "alert('" + SPex.Message.Replace("'", "") + "');", true); 
    
    }
    catch(Exception ex)
    { 
        ClientScript.RegisterClientScriptBlock(typeof(Page), "Erro" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true); 
    
    }

    Cumprimentos,


    André Lage Microsoft SharePoint, CRM Consultant
    Blog:http://aaclage.blogspot.com
    Codeplex:http://spupload.codeplex.com/http://simplecamlsearch.codeplex.com/


    quinta-feira, 16 de agosto de 2012 12:32
    Moderador

Todas as Respostas

  • Oi André,

    você pode utilizar a página padrão de erros do SharePoint.

    Exemplo:

    try { ... }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }


    ROBERTOSLJUNIOR

    quarta-feira, 15 de agosto de 2012 22:13
  • A resposta do Roberto esta correcta mas tambem e possivel utilizar outros objectos como "SPException", nem todas as excepçoes do SharePoint sao reconhecidas pelo objecto "Exception"

     throw new SPException("mensagem de erro");

    ou

    try { ... }
    catch(SPException SPex)
    { 
       SPUtility.TransferToErrorPage(SPex.Message) 
    }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }

    ou exemplo acontece com erros de Web Services ai tera que utilizar objecto "SoapException" para capturar erro.

    "throw new SoapException(mensagem de erro)"

    try { ... }
    catch(SoapException SoapEx)
    { 
       SPUtility.TransferToErrorPage(SoapEx.Message) 
    }
    catch(Exception ex)
    { 
       SPUtility.TransferToErrorPage(ex.Message) 
    }

    Se apenas pretenderes enviar um mensagem de alerta de Javascript podes utilizar o seguinte codigo para injectar o Javascript via server side.

    catch(SPException SPex)
    { 
       Response.Write("<script>alert('"+ Server.HtmlEncode(SPex.ToString()) + "')</script>"); 
    
    }
    catch(Exception ex)
    { 
       Response.Write("<script>alert('"+ Server.HtmlEncode(ex.ToString()) + "')</script>"); 
    
    }

    ou

    catch(SPException SPex)
    { 
       ClientScript.RegisterClientScriptBlock(typeof(Page), "Erro" + DateTime.Now, "alert('" + SPex.Message.Replace("'", "") + "');", true); 
    
    }
    catch(Exception ex)
    { 
        ClientScript.RegisterClientScriptBlock(typeof(Page), "Erro" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true); 
    
    }

    Cumprimentos,


    André Lage Microsoft SharePoint, CRM Consultant
    Blog:http://aaclage.blogspot.com
    Codeplex:http://spupload.codeplex.com/http://simplecamlsearch.codeplex.com/


    quinta-feira, 16 de agosto de 2012 12:32
    Moderador
  • Obrigado aos dois, era isso mesmo que estava buscando.
    quinta-feira, 16 de agosto de 2012 14:15