```js
if (this.catch) {
  try { cb.apply(ctx, args); }
  catch (err) { setTimeout(function(){ throw err; }); }
} else { cb.apply(ctx, args); }
```