title: Is is possible to catch if the creation of a web worker if failing?
body: <p>In the example below there is in an error in the code for the web worker (undefined reference) but <strong>try { ... } catch(e) { ...}</strong> does not catch much. The message <em>Why am I here ?</em> appears on the console. </p>
  
  <p>HTML file:</p>
  
  <pre><code>&lt;html&gt;
  &lt;body&gt;
  &lt;script type="text/javascript"&gt;
  
  var worker;
  try {
    worker = new Worker("foo.js");
    console.log('Why am I here ?');
  } catch (e) {
    console.log('Error creating the worker.');
  }
  // No matter what, an object "worker" will created during the call to Worker()
  // How to test that all went well
  var worker_failed = false;
  worker.addEventListener("error",
                          function(e) { worker_failed = true },
                          false);
  // Is it correct to assume that "worker" is created asynchronously, and that checking
  // that creation went well should not be sequential and the test below is not
  // the way to do it ?
  if ( worker_failed ) {
    // Worker("foo.js") failed, switch to plan B
  }
  &lt;/script&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Web worker (<em>foo.js</em>):</p>
  
  <pre><code>foobar = 2 + baz; // fails here (baz is undefined)
  onmessage = function(e) {
    var data = e.data;
    postMessage(data);
  };
  </code></pre>