Angular 2 doesn't update view after exception is thrown
<p>When an exception is caught by Angular 2's exception handler, the UI no longer 'updates'.</p>

<p>I have a very simple example <a href="https://plnkr.co/edit/iHDYpZ3fDlO6bhOtlTbQ" rel="nofollow noreferrer">here</a>:</p>

<p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>import { Component, ExceptionHandler, Injectable, OnInit, provide } from '@angular/core';
import { bootstrap } from '@angular/platform-browser-dynamic';
import { Subject } from 'rxjs/Subject'

export interface Alert {
  message: string;
}

@Component({
  selector: 'my-app',
  template : `
  &lt;h3&gt;Parent&lt;/h3&gt;
  {{aValue}}
  &lt;br/&gt;
  &lt;br/&gt;
  &lt;button (click)='doIt()'&gt;do it&lt;/button&gt;
  &lt;br/&gt;
  &lt;br/&gt;
  &lt;button (click)='breakIt()'&gt;break it&lt;/button&gt;
  `
})

export class App implements OnInit {
  private aValue: boolean = true
  constructor() { }
  
  alerts: Alert[] = [];
  
  doIt(){
    console.log('Doing It')
    this.aValue = !this.aValue
  }
  
  breakIt(){
    console.log('Breaking It')
    throw new Error('some error')
  }
}

bootstrap(App).catch(err =&gt; console.error(err));</code></pre>
</div>
</div>
</p>

<p>The Do It button flips the <code>boolean</code> which is reflected in the interpolated value in the template. However, once the <code>Break It</code> button is pressed (which cases an error to be thrown), the interpolated value no longer updates when the 'Do it' button is hit. However, the console still logs the messages <code>Doing it</code>.</p>

<p>The problem I'm dealing with is I would like to create a custom exception handler that warns the user and possibly does some work to clear a form when something has gone wrong, but what I'm seeing is if I throw an error on a button click to test it, all UI updates stop. However, buttons continue to function, meaning any buttons that post requests will do so if the form is in a good state. The UI however has ceased to update and inform the user what is happening.</p>

<p>I'm not sure if this is a problem with Zones or something else, but attempting an <code>NgZone.run()</code> didn't seem to solve the problem for me. If an error is meant to break a component's UI, what's the correct approach to my problem?</p>