what is making try: exit early?
<p>in the following function, what is making <code>try:</code> exit early? If I put the same code outside a <code>def</code> block it works fine.</p>

<pre><code>tiles = ['095D', '094M']
in_file = 'in_file'
out_file = 'out_file'
expression = ''' "FIELDNAME" LIKE 'STUFF' '''

def foobar(in_file, out_file, expression):
    print in_file, out_file, expression
    try:
        print 'this is trying'
        #pretty print tile list, from http://stackoverflow.com/questions/2399112/python-print-delimited-list
        tiles = ','.join(map(str,tiles))
        print 'made it past tiles!'
        print 'From %s \nselecting %s \ninto %s' % (in_file, tiles, out_file)

    except:
        print 'Made it to the except block!'

foobar(in_file, out_file, expression)
</code></pre>

<p>Results:</p>

<pre><code>D:\&gt; python xx-debug.py
in_file out_file  "FIELDNAME" LIKE 'STUFF'
this is trying
Made it to the except block!
</code></pre>

<p>Results with the <a href="http://pastebin.com/aX1cjpBX" rel="nofollow">same code not in a def</a>:</p>

<pre><code>this is trying
made it past tiles!
From in_file
selecting 095D,094M
into out_file
</code></pre>
