error.js 673 B

123456789101112131415161718192021222324
  1. var inherits = require('util').inherits;
  2. function trimStack(stack, num) {
  3. return stack && stack.split('\n').slice(num).join('\n');
  4. }
  5. function IllegalOperationError(msg, stack) {
  6. var tmp = new Error();
  7. this.message = msg;
  8. this.stack = this.toString() + '\n' + trimStack(tmp.stack, 2);
  9. this.stackAtStateChange = stack;
  10. }
  11. inherits(IllegalOperationError, Error);
  12. IllegalOperationError.prototype.name = 'IllegalOperationError';
  13. function stackCapture(reason) {
  14. var e = new Error();
  15. return 'Stack capture: ' + reason + '\n' +
  16. trimStack(e.stack, 2);
  17. }
  18. module.exports.IllegalOperationError = IllegalOperationError;
  19. module.exports.stackCapture = stackCapture;