Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
 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);
 }