Erro de Logica usando try e catch
-
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;
}@ -
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