flutter dart try catch, catch does not fire : <p>given the short code example below:</p>

<pre><code>    ...
    print("1 parsing stuff");
     List&lt;dynamic&gt; subjectjson;
    try { 
      subjectjson = json.decode(response.body);
    } on Exception catch (_) {
      print("throwing new error");
      throw Exception("Error on server");
    }
    print("2 parsing stuff");
    ...
</code></pre>

<p>I would Expect the catch block to execute whenever the decoding fails. However, when a bad response returns, the terminal displays the exception and neither the catch not the continuation code fires.. </p>

<pre><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>

<p>John.</p>
