<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div>I knew that you can just chain try/except blocks, and it's how I do it now, but the example I provided wasn't very realistic.</div><div><br></div><div>Take for example the initialization of a class from a config file, config file which may or may not have certain keys in it. With many keys, it is very inconvenient to chain try/except blocks to handle every possible case. Having the continue keyword would prove useful to put several error prone lines of code into a single try block, and have the execution continue as normal at tge statement after the statement errored out </div><div><br></div><div><br></div><div><br></div><div id="composer_signature"><div style="font-size:85%;color:#575757" dir="auto">Envoyé depuis mon smartphone Samsung Galaxy.</div></div><div><br></div><div style="font-size:100%;color:#000000"><!-- originalMessage --><div>-------- Message d'origine --------</div><div>De : Amber Yust <amber.yust@gmail.com> </div><div>Date : 06/01/2019  09:07  (GMT+01:00) </div><div>À : Simon <simon.bordeyne@gmail.com> </div><div>Cc : python-ideas@python.org </div><div>Objet : Re: [Python-ideas] Possible PEP regarding the use of the continue keyword in try/except blocks </div><div><br></div></div><div dir="ltr"><div dir="ltr">On Sat, Jan 5, 2019 at 4:39 PM Simon <<a href="mailto:simon.bordeyne@gmail.com">simon.bordeyne@gmail.com</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div dir="ltr"><div>I propose to be able to use the continue keyword to continue the execution of the try block even when an error is handled. The above could then be changed to :</div><div><br></div><div><div><br>    try:</div><div>        i = int("string")</div><div>        print("continued on")</div><div>        j = int(9.0)</div><div>    except ValueError as e:</div><div>        print(e)</div><div>        continue</div><div><br></div><div>>>> "invalid literal for int() with base 10: 'string'"</div></div><div>>>> "continued on"</div></div></div></div></div></blockquote><div><br></div><div>There is already a much simpler way of doing this:</div><div><br></div><div>    try:</div><div>        i = int("string")</div><div>    except ValueError as e:</div><div>        print(e)</div><div>    print("continued on")</div><div>    j = int(9.0)</div><div><br></div><div>The point of the 'try' block is to encapsulate the code you want to *stop* executing if an exception is raised. If you want code to be run regardless of whether an exception is raised, move it past the try-except.</div><div><br></div><div>~Amber <br></div></div></div>
</body></html>