shithub: puzzles

Download patch

ref: bb16b5a70ddf77d03f1e985cb761ad5aa6c19b2c
parent: e8ac0381f976f2dfd70fbe52e0ec59c1a8da9df6
author: Ben Harris <bjh21@bjh21.me.uk>
date: Sun Feb 19 14:39:04 EST 2023

js: Add a trivial error handler that alert()s

I'm not quite sure how useful it will be, but it does at least catch
an assertion failure in main() and present an opaque message in a box,
which is better than stopping and putting a message in the console
where no-one will see it.

--- a/emccpre.js
+++ b/emccpre.js
@@ -19,6 +19,12 @@
 // immediately.  On the other hand, the Emscripten runtime hasn't
 // started yet, so Module.cwrap isn't safe.
 
+// Error handler to make any failures from here on visible to the
+// user, maybe.
+window.addEventListener("error", function (e) {
+    alert(e.message);
+});
+
 // To avoid flicker while doing complicated drawing, we use two
 // canvases, the same size. One is actually on the web page, and the
 // other is off-screen. We do all our drawing on the off-screen one