Javascript中的自定义错误对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript中的自定义错误对象相关的知识,希望对你有一定的参考价值。
function ErrorConstructor(constructorName) { var errorConstructor = function(message, fileName, lineNumber) { // don't directly name this function, .name is used by Error.prototype.toString if (this == window) return new arguments.callee(message, fileName, lineNumber); this.name = errorConstructor.name; this.message = message||""; this.fileName = fileName||location.href; if (!isNaN(+lineNumber)) this.lineNumber = +lineNumber; else this.lineNumber = 1; } errorConstructor.name = constructorName||Error.prototype.name; errorConstructor.prototype.toString = Error.prototype.toString; return errorConstructor; } Usage: ErrorConstructor([constructorName]) Note: If no constructorName is specified, the default of Error.prototype.name is used Usage for generated error constructor: errorConstructor([message[, location[, lineNumber]]) Examples: var SecurityError = ErrorConstructor("Security Error"), //these will both throw a SecurityError starting with "Security Error on line 83:" var xss_error = "Possible XSS Vector JSON XHR response parsed with eval() Recommended fix: Parse JSON with JSON.parse"; throw new SecurityError(xss_error, "/js/searchResultsJSONloader.js", 83); throw SecurityError(xss_error, "/js/searchResultsJSONloader.js", 83); //these will both throw the following MarkupError: //"(X)HTML Markup Error on line 1: Invalid DOCTYPE" throw new MarkupError("Invalid DOCTYPE"); throw MarkupError("Invalid DOCTYPE");
以上是关于Javascript中的自定义错误对象的主要内容,如果未能解决你的问题,请参考以下文章