首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JavaScript中创建自定义错误?

如何在JavaScript中创建自定义错误?
EN

Stack Overflow用户
提问于 2009-04-23 22:35:22
回答 23查看 213K关注 0票数 254

由于某些原因,构造函数委托在下面的代码片段中看起来不起作用:

代码语言:javascript
复制
function NotImplementedError() { 
  Error.apply(this, arguments); 
}
NotImplementedError.prototype = new Error();

var nie = new NotImplementedError("some message");
console.log("The message is: '"+nie.message+"'")

运行此命令将生成The message is: ''。有什么想法可以解释为什么,或者有没有更好的方法来创建一个新的Error子类?apply到本机Error构造函数有没有我不知道的问题?

EN

Stack Overflow用户

发布于 2013-04-28 22:58:05

以不能使用instanceof为代价,下面的代码保留了原始的堆栈跟踪,不使用任何非标准的技巧。

代码语言:javascript
复制
// the function itself
var fixError = function(err, name) {
    err.name = name;
    return err;
}

// using the function
try {
    throw fixError(new Error('custom error message'), 'CustomError');
} catch (e) {
    if (e.name == 'CustomError')
        console.log('Wee! Custom Error! Msg:', e.message);
    else
        throw e; // unhandled. let it propagate upwards the call stack
}
票数 0
EN
查看全部 23 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/783818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档