Webix obscures the source of errors

I use webix_debug.js and whenever I have an error in my script, Chrome reports it in webix.js:999 instead:

  promise.prototype.finish = function (type) {
    var self = this
    self.state = type

    if (self.state === 'resolved') {
      for (var i = 0; i < self.next.length; i++)
        self.next[i].resolve(self.val);
    }

    if (self.state === 'rejected') {
      for (var i = 0; i < self.next.length; i++)
        self.next[i].reject(self.val);

      throw(self.val);   // <-- here
    }
  }

If you have error in the callback of ajax script - it will be catched by promise handler, as all ajax calls returns promises and need to call the success or error handler based on result of ajax processing.

http://docs.webix.com/helpers__ajax_operations.html#promiseapiforajaxrequests

You can configure Chrome to to break on all exceptions, not only on uncatched ones.

Thanks. I was also using webix_debug standalone, without the .map file.

If someone else has similar debugging problems, make sure you have webix.js, webix_debug.js, and webix.js.map accessible.