== Why is this an issue? `break` and `continue` are control flow statements used inside of loops. `break` is used to break out of its innermost enclosing loop and `continue` will continue with the next iteration. The example below illustrates the use of `break` in a `while` loop: [source,python] ---- n = 1 while n < 10: if n % 3 == 0: print("Found a number divisible by 3", n) break n = n + 1 ---- This next example uses `continue` inside a `for` loop: [source,python] ---- words = ["alice", "bob", "charlie"] for word in words: if word == word[::-1]: print("Found a palindrome", word) continue print("This is not a palindrome", word) ---- Python will raise a `SyntaxError` when `break` or `continue` are used outside of `for` or `while` loops. If the goal is to interrupt the main program flow, `quit()`, `exit()`, `os._exit()` and `sys.exit()` are the preferred way. === Code examples ==== Noncompliant code example [source,python,diff-id=1,diff-type=noncompliant] ---- narg=len(sys.argv) if narg == 1: print('@Usage: input_filename nelements nintervals') break ---- ==== Compliant solution [source,python,diff-id=1,diff-type=compliant] ---- narg=len(sys.argv) if narg == 1: print('@Usage: input_filename nelements nintervals') sys.exit() ---- == Resources === Documentation * https://docs.python.org/3/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops[break and continue Statements] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Remove this "xxx" statement ''' == Comments And Links (visible only on this page) === is related to: S910 === on 4 Nov 2014, 15:59:14 Ann Campbell wrote: pylint:E0103 === on 9 May 2016, 15:41:47 Evgeny Mandrikov wrote: I don't know any C/{cpp} compiler, which will allow to use "continue" outside of loop and "break" outside of switch and loop, hence not applicable. === on 9 May 2016, 15:44:26 Evgeny Mandrikov wrote: Note that PC-Lint error codes from 1 to 199 for C and from 1001 to 1199 for {cpp} are syntax errors. === on 16 May 2016, 17:06:00 Ann Campbell wrote: \[~evgeny.mandrikov] I guess this means that PC-Lint doesn't expect compilable code? === on 16 May 2016, 17:14:19 Evgeny Mandrikov wrote: \[~ann.campbell.2] I suppose that it expects for proper analysis in general, but when this is not the case it generates more precise "parse error". === on 16 May 2016, 17:50:32 Ann Campbell wrote: For the record PC-Lint rules in these ranges are Syntax errors: 1-199, 1001-1199. endif::env-github,rspecator-view[]