[canvaskit] Add catchException everywhere

This should make the logs in the bots more actionable by showing
the error and trace.

This also fixes the API change causing mysterious red.

Bug: skia:
Change-Id: I38df2bb4557041f8bdfefcae5c8d95b58e770033
Reviewed-on: https://skia-review.googlesource.com/c/168180
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/modules/pathkit/tests/effects.spec.js b/modules/pathkit/tests/effects.spec.js
index cb1087a..cf1e1d5 100644
--- a/modules/pathkit/tests/effects.spec.js
+++ b/modules/pathkit/tests/effects.spec.js
@@ -30,7 +30,7 @@
 
     describe('Dash Path Effect', function() {
         it('performs dash in-place with start, stop, phase', function(done) {
-            LoadPathKit.then(() => {
+            LoadPathKit.then(catchException(done, () => {
                 let orig = drawStar();
                 let dashed = drawStar();
                 let notACopy = dashed.dash(10, 3, 0);
@@ -46,13 +46,13 @@
                     dashed.delete();
                     phased.delete();
                 });
-            });
+            }));
         });
     });
 
     describe('Trim Path Effect', function() {
         it('performs trim in-place with start, stop, phase', function(done) {
-            LoadPathKit.then(() => {
+            LoadPathKit.then(catchException(done, () => {
                 let orig = drawStar();
                 let trimmed = drawStar();
                 let notACopy = trimmed.trim(0.25, .8);
@@ -69,14 +69,13 @@
                     trimmed.delete();
                     complement.delete();
                 });
-
-            });
+            }));
         });
     });
 
     describe('Transform Path Effect', function() {
         it('performs matrix transform in-place', function(done) {
-            LoadPathKit.then(() => {
+            LoadPathKit.then(catchException(done, () => {
                 let orig = drawStar();
                 let scaled = drawStar();
                 let notACopy = scaled.transform(3, 0, 0,
@@ -97,13 +96,13 @@
                     scaled.delete();
                     scaled2.delete();
                 });
-            });
+            }));
         });
     });
 
     describe('Stroke Path Effect', function() {
         it('creates a stroked path in-place', function(done) {
-            LoadPathKit.then(() => {
+            LoadPathKit.then(catchException(done, () => {
                 let orig = drawStar();
                 let stroked = drawStar();
                 let notACopy = stroked.stroke({
@@ -131,7 +130,7 @@
                     stroked.delete();
                     rounded.delete();
                 });
-            });
+            }));
         });
     });