you're right on the `throw`. if a handler isn't bound to the `error` event, node core throws it instead. one thing i did notice in review though is the try/catch around less.render is unnecessary. if a cb is passed, parse errors are caught internally in less. it would make sense to catch if we weren't passing a cb, but it's a little confusing if we are. I think a better and equally functional approach would be:  

```js
less.render(input, {filename: file, paths: [path.dirname(file)]}, function(err, css) {
  if (err) {
    self.emit('error', err);
  } else {
    self.queue(jsToLoad(css));
  }
  self.queue(null);
});