擅长:python、mysql、java
<p>问题是<code>NameError</code>是从函数调用的<em>外部引发的。当你说:</p>
<pre><code>threes(bob)
</code></pre>
<p>Python所做的是:</p>
<ol>
<li>获取<code>bob</code>的值。你知道吗</li>
<li>调用<code>threes</code>,将该值作为参数传递。你知道吗</li>
</ol>
<p><code>NameError</code>是在步骤1中提出的,因此您甚至不需要进入函数。如果仍要捕获它,则应将<code>try</code>/<code>except</code>块放在外部:</p>
<pre><code>try:
threes(bob)
except NameError:
print("NameError raised.")
</code></pre>