public async void Imprimir() { WriteLine("10. Inicializadores De Índice"); StreamWriter logAplicacao = new StreamWriter("LogAplicacao.txt"); try { await logAplicacao.WriteLineAsync("Aplicação esta iniciando..."); Aluno10 aluno = new Aluno10("Marty", "McFly", new DateTime(1968, 6, 12)) { Endereco = "9303 Lyon Drive Hill Valley CA", Telefone = "555-4385" }; await logAplicacao.WriteLineAsync("Aluno Marty criado"); WriteLine(aluno.NomeCompleto); WriteLine("Idade: {0}", aluno.GetIdade()); WriteLine(aluno.DadosPessoais); aluno.AdicionaAvaliacao(new Avaliacao06(1, "GEO", 8)); aluno.AdicionaAvaliacao(new Avaliacao06(1, "MAT", 7)); aluno.AdicionaAvaliacao(new Avaliacao06(1, "HIS", 9)); ImprimirMelhorNota(aluno); foreach (var avaliacao in aluno.Avaliacaos) { WriteLine(avaliacao.ToString()); } Aluno10 aluno2 = null; await logAplicacao.WriteLineAsync("Aluno null foi criado"); ImprimirMelhorNota(aluno2); aluno.PropertyChanged += Aluno_PropertyChanged; aluno.Endereco = "Rua Vergueiro, 3185"; aluno.Telefone = "555-1234"; Aluno10 aluno3 = new Aluno10("Charles", ""); await logAplicacao.WriteLineAsync("Aluno Chales criado"); } catch (ArgumentException exc) when(exc.Message.Contains("não informado")) { string msg = $"Parâmetro {exc.ParamName} não foi informado"; await logAplicacao.WriteLineAsync(msg); WriteLine(msg); } catch (ArgumentException exc) { const string msg = "parametro com Problema!"; await logAplicacao.WriteLineAsync(msg); WriteLine(msg); } catch (Exception exc) { await logAplicacao.WriteLineAsync(exc.ToString()); WriteLine(exc.ToString()); } finally { await logAplicacao.WriteLineAsync("Aplicação Terminou!"); logAplicacao.Dispose(); } /* filtro de exceção web * public static async Task<string> FazerRequisicao() * { * var cliente = new System.Net.Http.HttpClient(); * var streamTask = cliente.GetStringAsync("https://localHost:10000"); * try * { * var resposta = await streamTask; * return resposta; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("404")) * { * return "Página não encontrada"; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("301")) * { * return "Site Mudou de Endereço"; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("304")) * { * return "Usar o Cache"; * } * catch (System.Exception e) * { * return "Ocorreu uma exceção"; * } * } * */ }
private static void ImprimirMelhorNota(Aluno10 aluno) { WriteLine("Melhor Nota: {0}", aluno?.MelhorAvaliacao?.Nota); }