framework4js
Version:
Framework-for-js is a better Javascript's framework
60 lines (59 loc) • 3.55 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
/**
* Exception Class
* throw diy Exception
* https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error
* 目前原生的错误类型
* Error [一般错误类型]
* SyntaxError [语法错误]
* ReferenceError [不存在的变量]
* RangeError [超出有效范围]
* TypeError [非预期类型]
* URIError [URI参数错误]
* EvalError [eval函数没有正确执行]
* example:: throw new Exception() catch(error) error.message,error.name,error.code,error.stack
* NewException extends Exception diy yourself Exception;
*/
var Exception = /*#__PURE__*/function (_Error) {
(0, _inherits2["default"])(Exception, _Error);
var _super = _createSuper(Exception);
/**
* Error constructor
* @param {String} name 自定义错误名称
* @param {String} message 自定义错误提示
* @param {Number} code 错误码
*/
// eslint-disable-next-line no-unused-vars
function Exception(name, message) {
var _this;
var code = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
(0, _classCallCheck2["default"])(this, Exception);
// Error message
_this = _super.call(this, message);
// name 错误名称
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "name", "Custom Error");
// message 错误信息
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "message", "Error message");
_this.name = name ? name : _this.name;
_this.message = message ? message : _this.message;
_this.stack = new Error().stack;
return _this;
}
return (0, _createClass2["default"])(Exception);
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(Error));
exports["default"] = Exception;