Roy Smith writes: > Consider the following django snippet. Song(id) raises DoesNotExist > if the id is unknown. > > try: > songs = [Song(id) for id in song_ids] > except Song.DoesNotExist: > print "unknown song id (%d)" % id > > Is id guaranteed to be in scope in the print statement? I found one > thread > (http://mail.python.org/pipermail/python-bugs-list/2006-April/033235.html) > which says yes, but hints that it might not always be in the future. > Now that we're in the future, is that still true? And for Python 3 > also?
Another id is in scope in this Python3 example (3.1.2, Ubuntu): >>> try: ... songs = [1/0 for id in [1]] ... except Exception: ... print('Caught', id) ... Caught <built-in function id> -- http://mail.python.org/mailman/listinfo/python-list