- From: jan-ivar via GitHub <sysbot+gh@w3.org>
- Date: Wed, 13 Apr 2016 16:19:34 +0000
- To: public-media-capture@w3.org
jan-ivar has just created a new issue for https://github.com/w3c/mediacapture-record: == Error member in an Event for runtime-errors is a bad idea == ...because the `Error`'s file, line number and stack will always be empty. Not only is this wasteful, it fools people into thinking it *might* have useful information that they better log or forward, taking the place of more useful information. Here's an [example](https://jsfiddle.net/tmwLxjLy/) (yes I like promises, and yes the example is mediaRecorder, but it has the same event): ```js var rec = new MediaRecorder(stream); rec.start(); var stopped = new Promise((resolve, reject) => { rec.onstop = resolve; rec.onerror = event => reject(event.error)); }); ``` `stopped` resolves when the recording ends, or rejects at the first runtime error, whichever happens first. But when a `SecurityError` error later shows up in my console, there's no file or line number. In a larger program, this would suck. If we replace `.error` with `.name` and `.message` then I know there's no deeper information to forward: rec.onerror = event => reject(new DOMException(event.message, event.name)); And now the `SecurityError` points to this call site, which tells me it's a runtime error in `rec`. I think this is a general problem with all runtime-error events. Please view or discuss this issue at https://github.com/w3c/mediacapture-record/issues/53 using your GitHub account
Received on Wednesday, 13 April 2016 16:19:45 UTC