public ExemploDeUso() { InitializeComponent(); MsgAvancado.ExibirErroValidacao("Você errou em alguma parte"); MsgAvancado.ExibirInformacao("Pare de errar"); var r = MsgAvancado.ExibirPergunta("Você vai parar de errar?"); if (r == System.Windows.Forms.DialogResult.Yes) { MsgAvancado.ExibirInformacao("Que bom cara"); } else { MsgAvancado.ExibirErroValidacao("Você deve parar de errar!"); } //Define a MsgControl com a atualização de um label msg = new MsgControl(label1); msg.TextoExibido = "Texto que não terá tempo suficiente para ser exibido"; //Define que ele está rodando async //Não pode setar durante a thread async msg.RodandoCarregamento = true; BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += bw_DoWork; bw.RunWorkerAsync(); }
private static void GlobalUnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs e) { try { // Tem um cast, pode dar erro, e se der erro, pode entrar num laço infinito de erros quando der cast de novo, então precisa de try..catch MsgAvancado.ExibirErro((Exception)e.ExceptionObject, "Ops, ocorreu um erro", MsgAvancado.IntensidadeErro.Gravissimo); } catch (Exception ex) { MsgAvancado.ExibirErro(ex, "Falha ao iniciar sistema. Contate um desenvolvedor."); // Finaliza o sistema da forma mais dramática possível, pra impedir qualquer outro erro System.Diagnostics.Process.GetCurrentProcess().Kill(); } }
/// <summary> /// Carrega um objeto de configuração de um diretório específico, se ele não existe então é criado /// </summary> /// <param name="dir">O diretorio a ser carregado</param> public static ObjetoConfig CarregarOuCriar(Type tipo) { ObjetoConfig objetoConfig = null; //Se existir as configurações tenta carregar if (File.Exists(tipo.Name + ".bin")) { try { objetoConfig = Carregar(tipo); } //Se não conseguir define padrão e salva catch { try { objetoConfig = (ObjetoConfig)Activator.CreateInstance(tipo); objetoConfig.DefinirPadrao(); Salvar(objetoConfig); } catch (Exception ex) { MsgAvancado.ExibirErro(ex, "Erro ao tentar criar e salvar a configuração: " + tipo.Name + ".bin"); } } } else { try { objetoConfig = (ObjetoConfig)Activator.CreateInstance(tipo); objetoConfig.DefinirPadrao(); Salvar(objetoConfig); } catch (Exception ex) { MsgAvancado.ExibirErro(ex, "Erro ao tentar criar e salvar a configuração: " + tipo.Name + ".bin"); } } return(objetoConfig); }
/// <summary> /// Gera o relatório da exceção da Task /// Leonardo Costa 30/10/2015 /// </summary> /// <param name="task">Task que foi interrompida por uma exceção não tratada</param> private static void ExceptionHandler(Task task) { MsgAvancado.ExibirErro(task.Exception); }
private static void GlobalThreadExceptionHandler(object sender, ThreadExceptionEventArgs e) { // Gera o relatório do erro e reinicia o sistema MsgAvancado.ExibirErro(e.Exception, "Ops, ocorreu um erro", MsgAvancado.IntensidadeErro.Gravissimo); }