none
Try Catch lendo dois blocos e tratando exceção RRS feed

  • Pergunta

  • Ola pessoal como posso ler dois blocos em um try depois fazer um catch para tratar a exceção.

    Possuo duas rotas de conexão para imprimir via rede, gostaria de fazer uma exceção quando no primeiro bloco nao identificar a primeira rota, ai pular para a segunda rota, caso nao encontrar as duas fazer a exceção. 

    try
                {
                    //Chame o método, declare pela interface IPrinter

                   //Primeiro Bloco

                    printer.Print(ipAddressPrimeiraRota, portNumber, myText);
                    DependencyService.Get<IMessage>().ShortAlert("Impressão Enviada");
                }

               //como colocaria o //Segundo Bloco

              //ex: 

             //Chame o método, declare pela interface IPrinter

                   //Segundo Bloco

                   // printer.Print(ipAddressSegundaRota, portNumber, myText);
                  //  DependencyService.Get<IMessage>().ShortAlert("Impressão Enviada");

     catch (Exception ex)
                {
                  //Exceção aqui pode significar dificuldades na conexão com a impressora, etc.
                  await DisplayAlert("Erro", $"Não foi possível imprimir o recibo de requisição\nReason: {ex.Message}", "OK");
                }

    Aguardo a colaboração

    segunda-feira, 20 de agosto de 2018 14:58

Respostas

  • Olá, boa tarde! 

    Já fiz um caso parecido, usei um tratamento de erro dentro do outro, tipo assim: 

            private void teste()
            {
                try
                {
                    //possivel coleta de dados
                    try
                    {
                        //primeira opção para funcionalidade
                    }
                    catch
                    {
                        //caso dê erro ele cai aqui 
                        try
                        {
                            //segunda  opção para funcionalidade
                        }
                        catch (Exception)
                        {                        
                            // tratamento de erro das duas opções
                        }
                    }
                    
                }
                catch (Exception)
                {
                    //tratamento de erro da coleta de dados
                }
            }
    Assim eu consegui fazer algo parecido com o que está precisando fazer! 



    CMCJunior

    segunda-feira, 20 de agosto de 2018 15:39

Todas as Respostas

  • Olá, boa tarde! 

    Já fiz um caso parecido, usei um tratamento de erro dentro do outro, tipo assim: 

            private void teste()
            {
                try
                {
                    //possivel coleta de dados
                    try
                    {
                        //primeira opção para funcionalidade
                    }
                    catch
                    {
                        //caso dê erro ele cai aqui 
                        try
                        {
                            //segunda  opção para funcionalidade
                        }
                        catch (Exception)
                        {                        
                            // tratamento de erro das duas opções
                        }
                    }
                    
                }
                catch (Exception)
                {
                    //tratamento de erro da coleta de dados
                }
            }
    Assim eu consegui fazer algo parecido com o que está precisando fazer! 



    CMCJunior

    segunda-feira, 20 de agosto de 2018 15:39
  • Deu certo, obrigado
    segunda-feira, 20 de agosto de 2018 22:08