Instruções “Break” e “Continue”. O guia definitivo
- #Boas práticas
Muitas linguagens convencionais atuais (C, C++, Java, .NET (C# + VB), PHP, etc) possuem as instruções "break" e "continue" e alguns programadores os usam para “pular loops” (loops = laços de repetição “while”, “do-while” e “for”), MAS é ai que mora o perigo. Eu criei esse artigo para explicar a funcionalidade de “break” e “continue” para evitar que vocês cometam o mesmo erro que um desenvolvedor C da AT&T cometeu há 32 anos atrás.
Sem mais delongas, vamos aprender as instruções "break" e "continue"!
Obs: As imagens desse artigo foram feitas usando a linguagem C# na IDE Visual Studio 2022, mas o princípio de "break" e "continue" é o mesmo para as outras linguagens de programação.
break – A instrução “break” é usado em laços de repetição “while”, “do-while”, “for” e com as instruções “switch-case”. Quando usado em laço de repetição, causa uma interrupção imediata do mesmo, continuando a execução do programa na próxima linha após o laço. Isso ocorre caso a condição imposta seja atendida.
continue – A instrução “continue” é usado somente em laços de repetição. Quando ele é executado, o laço volta imediatamente para o teste de condição do laço de repetição. Normalmente, usamos o instrução “continue” em um teste “if”.
Quando o código da imagem abaixo for executado, será verificado se há um erro. Se a condição for verdadeira, o próximo campo do arquivo será lido até que o valor da variável "N" seja menor que 5.
A instrução “continue” será usada para voltar ao laço de repetição e fazer com que os outros campos continuem a ser lidos até o final do arquivo.
Obs: No código C# usado para criar esse artigo, eu declarei a variável int N = 0; antes do laço de repetição "while", mas na hora de tirar o print da tela, eu "capturei" apenas a imagem do laço. Falha minha ^^;
Agora que vocês estão por dentro de como funciona as instruções “break” e “continue”, vocês evitarão grandes desastres como o desse cidadão abaixo:
“Em 15 de janeiro de 1990, o sistema de telefonia de longa distância da AT&T caiu e 60 mil pessoas perderam o serviço telefônico. O motivo? Um desenvolvedor trabalhando no código C usado nas trocas de mensagens telefônicas tentou usar a instrução “break” para sair de uma instrução “if-else”, MAS a instrução “break” não foi feito para sair de um instrução “if-else”, a instrução “break” (como a gente já aprendeu) é executado dentro de um laço de repetição do tipo “while”, “do-while", "for" e com as instruções “switch-case” e uma vez executado, ele vai parar imediatamente o laço e o programa continua sendo executado após o laço. Resultado: O programa responsável pelo sistema de telefonia pulou uma seção inteira de código e introduziu um bug onde 70 milhões de chamadas telefônicas ficaram interrompidos durante 9 horas.”
Referências Bibliográficas:
Um forte abraço para todos!!