Como interromper a execução do programa e retomar a um endereço especifico

65 views
Skip to first unread message

Sergio Iescas

unread,
Oct 29, 2023, 5:18:35 PM10/29/23
to Python Brasil
Boa tarde a todos na paz do Senhor Jesus.
Como eu consigo para a execução do programa em python e retornar para um endereço especifico.
Quanto o programa executa o comando da linha 24 do arquivo conexão4.py eu preciso que o programa volte ao inicia da execução  na linha 23 do arquivo principal.py linha 
conexao 4.png
A imagem abaixo mostra parte do programa principal.
ou seja quando o programa principal chama a classe conexao_4(), na linha 55 e o usuário não e encontrado tenho que retornar a linha de execução 23 do programa principal

programa principal.png
hoje conforme a imagem abaixo ele executada e finaliza todos os arquivos para depois retornar ao inicio.
execução sem parar.png

Alex

unread,
Oct 29, 2023, 7:34:39 PM10/29/23
to Python Brasil
Você tem que executar 'continue' logo após executar a função conexao_4.

Sergio Iescas

unread,
Oct 30, 2023, 8:02:37 PM10/30/23
to python...@googlegroups.com

Boa noite a todos na santa e poderosa paz do senhor Jesus.
A única forma que eu consegui, foi criando um desvio condicional por meio do IF / ELSE
Transformei a variável utilizada em uma classe, para podermos recuperar o valor da variável
ai criei a condição (se) a variável esta vazia, finaliza o processo e retorno ao início do programa 
(se não) continue o programa indo para próxima etapa da aquisição de dados.
Se alguém souber outra maneira de se fazer isso, por favor compartilhe aqui conosco.
image.png

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para acessar essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/80b0a3d9-fd07-4ef4-9d5f-4cb1c6cdd16dn%40googlegroups.com.

Lucas Pierre

unread,
Oct 31, 2023, 4:03:22 PM10/31/23
to Python Brasil
Refatora ali na linha 23 do código principal

def funcao_principal():
    # código da linha 23 em diante...

E coloca um loop while com break na função principal. Ficaria algo como:

while True:
    try:
        funcao_principal()
        break  # se tudo correr bem, saia do loop
    except UsuarioNaoEncontrado:  # ou qualquer exceção que você queira tratar
        # trate o erro aqui, se necessário
        pass  # continue o loop, retornando ao início da funcao_principal


Por fim, lança uma exceção no conexão4.py: No arquivo conexão4.py, quando o usuário não for encontrado (ou qualquer outra condição que você deseja tratar). Você pode definir a exceção no início do seu arquivo ou em um módulo separado, assim:

class UsuarioNaoEncontrado(Exception):
    pass

# ... mais tarde no código ...

if not usuario_encontrado:  # ou qualquer condição que você esteja verificando
    raise UsuarioNaoEncontrado("O usuário não foi encontrado.")


O que isso faz é interromper a execução no ponto em que a exceção é lançada e retornar ao bloco except mais próximo que pode tratá-la. No nosso caso, isso está no loop while em principal.py, fazendo o programa voltar ao início da função funcao_principal().

Sergio Iescas

unread,
Nov 3, 2023, 5:46:52 AM11/3/23
to Python Brasil
Bom dia a todos na santa e poderosa paz do Senhor Jesus Lucas muito obrigado pela atenção e orientação valeu
Reply all
Reply to author
Forward
0 new messages