[Python-ideas] Possible PEP regarding the use of the continue keyword in try/except blocks

simon.bordeyne simon.bordeyne at gmail.com
Sun Jan 6 21:54:07 EST 2019


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.
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 


Envoyé depuis mon smartphone Samsung Galaxy.
-------- Message d'origine --------De : Amber Yust <amber.yust at gmail.com> Date : 06/01/2019  09:07  (GMT+01:00) À : Simon <simon.bordeyne at gmail.com> Cc : python-ideas at python.org Objet : Re: [Python-ideas] Possible PEP regarding the use of the continue keyword in try/except blocks 
On Sat, Jan 5, 2019 at 4:39 PM Simon <simon.bordeyne at gmail.com> wrote: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 :

    try:        i = int("string")        print("continued on")        j = int(9.0)    except ValueError as e:        print(e)        continue
>>> "invalid literal for int() with base 10: 'string'">>> "continued on"
There is already a much simpler way of doing this:
    try:        i = int("string")    except ValueError as e:        print(e)    print("continued on")    j = int(9.0)
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.
~Amber 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20190107/b066b3db/attachment-0001.html>


More information about the Python-ideas mailing list