Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Erro de Logica usando try e catch
Forum Updated to NodeBB v4.3 + New Features

Erro de Logica usando try e catch

Scheduled Pinned Locked Moved Portuguese
2 Posts 2 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lima_will
    wrote on last edited by
    #1

    Pessoal,

    Tô com a seguinte duvida, tenho um código já pronto e ele está atualmente assim:

    @try{
    função que pega o valor do regedit em 32-bits;

        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
    }
    

    catch (Exception ex)
    {
    Mensagem de erro e aviso no sistema;
    Mensagem de erro e aviso no sistema;
    Mensagem de erro e aviso no sistema;
    }@

    Assim como está o exemplo minha função está funcionando perfeitamente, só que o problema ocorre que ela só busca em 32-bits.
    E agora preciso usar ela para pegar em 64-bits. (estou usando windows)

    sei que posso jogar a primeira tentativa de pegar o valor em um try e caso não ocorra vai gerar uma exeção, mas como aproveitar
    o que já tenho " Nesta linha teria o tratamento do valor recebido;" e não repetir já que depois que peguei o valor
    vai executar da mesma maneira, mesmo sendo 32 ou 64 -bits.

    pensei em fazer assim, mas não está dando certo:

    @try{
    função que pega o valor do regedit em 32-bits;
    }
    catch(Exception ex)
    {
    try{
    função que pega o valor do regedit em 64-bits;
    }

    Aqui que me perdo como fazer para fechar o catch abaixo e aproveitar as linhas abaixo??

         Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
        Nesta linha teria o tratamento do valor recebido;
    }
    

    catch (Exception ex)
    {
    Mensagem de erro e aviso no sistema;
    Mensagem de erro e aviso no sistema;
    Mensagem de erro e aviso no sistema;
    }@

    1 Reply Last reply
    0
    • T Offline
      T Offline
      TioRoy
      wrote on last edited by
      #2

      lima_will,

      Não entendí bem o que você está tentando fazer.

      Ter try/catch aninhados fica um pouco confuso. Você poderia criar uma função para cada tratamento, e dentro das funções um try/catch.

      Você disse que está tentando ler valor do regedit (registro do WIndows).
      Se sua aplicação é 32bits, precisa ler o registro de 64bits?

      Pergunto isso, porque o Windows, em algumas situações faz o "merge" entre o registro de 32bits no de 64bits.

      Por exemplo, numa máquina 64bits, se você executar:

      @c:\windows\system32\regedit.exe@

      Você vai ler o REGISTRY de 64bits

      Se executar:

      @c:\windows\SysWOW64\regedit.exe@

      Você vai ler o REGISTRY de 32bits

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved