title: Flutter and Dart try catch—catch does not fire
body: <p>Given the shortcode example below:</p>
  <pre><code>    ...
      print(&quot;1 parsing stuff&quot;);
      List&lt;dynamic&gt; subjectjson;
      try {
        subjectjson = json.decode(response.body);
      } on Exception catch (_) {
        print(&quot;throwing new error&quot;);
        throw Exception(&quot;Error on server&quot;);
      }
      print(&quot;2 parsing stuff&quot;);
      ...
  </code></pre>
  <p>I would <em>expect</em> the catch block to execute whenever the decoding fails. However, when a bad response returns, the terminal displays the exception and neither the catch nor the continuation code fires...</p>
  <pre class="lang-none prettyprint-override"><code>flutter: 1 parsing stuff
  [VERBOSE-2:ui_dart_state.cc(148)] Unhandled Exception: type
  '_InternalLinkedHashMap&lt;String, dynamic&gt;' is not a subtype of type
  'List&lt;dynamic&gt;'
  </code></pre>
  <p>What am I missing here?</p>