More Related Content
Similar to Café com Bug - 2ª Edição em 13/05/2010 (20)
Café com Bug - 2ª Edição em 13/05/2010
- 10. A solução! Global.asax protected void Application_Error(object sender, EventArgs e){ Exception ex = Server.GetLastError(); RSLHandler handler = new RSLHandler().Configure(); handler.Handle(ex);}
- 13. A solução! Web.Config: <customErrorsdefaultRedirect=“erroPadrao.html" mode="On"> <error statusCode=“403" redirect=“NaoPermitida.html"/> <error statusCode=“404" redirect=“NaoEncontrada.html"/> </customErrors>
- 14. Errado #1 private void Salvar(UsuarionovoUsuario) { //Abreconexão com banco de dados DataReader dr = cmd.Execute(sql); //Executaumainstruçãoquegera exception throw new Exception(“Whatever”); } Certo #1 private void Salvar(UsuarionovoUsuario) { DataReader dr = cmd.ExecuteReader(sql, CommandBehavior.CloseConnection); try { //Executaumainstruçãoquegera exception throw new Exception(“Whatever”); }finally{ dr.Close(); } }
- 15. Errado #2 private void Foo() { try { //Executa uma operação que lança exceção } catch (Exception ex) { string Message = ex.Message; throw ex; } } Certo #2 private void Foo() { try { //Executa uma operação que lança exceção } catch (Exception ex) { string Message = ex.Message; throw; } }
- 17. var exemplo = (x => x.Log4Net) private void Log(string message) { ILog log = LogManager.GetLogger(“MyLoggerName”); log.Info(“Debug message”); log.Error(“A big error!”); } <log4net> <!-- A1 is set to be a ConsoleAppender --> <appender name=“MyAppender" type="log4net.Appender.ConsoleAppender"> <!-- A1 uses PatternLayout --> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value=“ %-4timestamp [%thread] %-5level %logger %ndc - %message%newline" /> </layout> </appender> <!-- Set root logger level to DEBUG and its only appender to A1 --> <root> <level value="DEBUG" /> <appender-ref ref="A1" /> </root> </log4net>
- 18. Contato Email:antonio.zegunis@fnac.com.br ou me@tucaz.net Blog: http://blog.tucaz.net Twitter: http://www.twitter.com/tucaz Referências http://msdn.microsoft.com/en-us/library/ff647787.aspx http://msdn.microsoft.com/en-us/library/ff649308.aspx http://msdn.microsoft.com/en-us/library/ms229014%28VS.80%29.aspx http://blog.tucaz.net/en/2009/07/21/basic-stuff-handling-exceptions-in-net/ http://logging.apache.org/log4net/release/manual/configuration.html http://haacked.com/archive/2005/03/07/ConfiguringLog4NetForWebApplications.aspx http://intrafnac.fnac.br/dosi/sistemas/WikiSistemas/Paginas%20Wiki/Home.aspx http://intrafnac.fnac.br/dosi/sistemas/WikiSistemas/Paginas%20Wiki/Tratamento%20de%20Exceções.aspx