2015-01-14 71 views
1

我正在尝试自定义异常抛出的JavaScript错误消息。自定义抛出异常的错误信息javascript

到目前为止我的尝试失败了。

我想这一点,但它不工作

function abc(sender, args) { 
    alert("ex2"); 
    throw ("error new"); 
    alert(""); 
    } 

回答

1

您需要throwobject(与消息属性),而不是string生成自定义exception

function abc(sender, args) { 
    alert('ex2'); 

    throw { 
    name: 'YourErrorName', 
    message: 'YourErrorMessage' 
    }; 

    alert(''); 
} 

以下是如何举办活动并抓取的示例其中包含您的姓名和消息值:

function triggerError(){ 
    throw { 
    name: 'YourErrorName', 
    message: 'YourErrorMessage' 
    }; 
}; 

(function cathError(){ 
    try { 
    triggerError(); 
    } 
    catch(e){ 
    console.log(e.message); 
    console.log(e.name); 
    } 
}()); 

看看这个codepen看到它的工作。

+0

仍然没有工作它给“错误”的消息 – fc123

+0

@fali你可以发布您的代码在一个小提琴? – ianaya89

+0

什么代码?我已经发布了我的代码,没有更多内容 – fc123

0

我有好运气这个简单的代码:

throw new Error("Something terrible has happened"); 

当你简单地抛出一个字符串,你失去的功能,如错误堆栈。某处调用堆栈,你可能想要做这样的事情:

catch(err) { 
    console.log(err.stack); 
    alert(err.message); 
}