title: Why can I not catch undefined variable Error
body: <p>Why does the below code not catch error:</p>
  <pre><code>rename list _native_list
  proc list {args} {
    uplevel 1 {
      if { [catch {_native_list $args} val] } {
        puts &quot;list $args :: FAILED $val&quot;
      } else {
        return $val
      }
    }
  }
  </code></pre>
  <p>When trying to execute the newly defined list command, this is what I get:</p>
  <pre><code>% list hi $h
  can't read &quot;h&quot;: no such variable
  </code></pre>
  <p>Why did it not trap the error?</p>