angular Error Boundary in Templates かしこい
ChangeDetectorRef を detach しておく
エラーをキャプチャしたい領域の TemplateRef を受け取って内部で展開する
ngDoCheck() で ChangeDetectorRef.detectChanges() を呼び出してビューを更新し、 try-catchでエラーを捕捉する
テンプレートの出し分けは別でやればいいので、エラーをキャプチャするだけならContentを使ったこんな感じのインターフェースだともっと使いやすそう
code:html
<error-boundary (error)="onError($event)">
<foo-component></foo-component>
</error-boundary>