我正在尝试在javascript中自定义异常抛出的错误消息。
到目前为止,我的尝试都失败了。
我正在尝试这个,但它不起作用
function abc(sender, args) {
alert("ex2");
throw ("error new");
alert("");
}
答案 0 :(得分:1)
您需要throw
和object
(使用名称和消息属性)而不是string
来生成自定义exception
:
function abc(sender, args) {
alert('ex2');
throw {
name: 'YourErrorName',
message: 'YourErrorMessage'
};
alert('');
}
以下是如何引发事件并捕获包含您的姓名和消息值的exception
的示例:
function triggerError(){
throw {
name: 'YourErrorName',
message: 'YourErrorMessage'
};
};
(function cathError(){
try {
triggerError();
}
catch(e){
console.log(e.message);
console.log(e.name);
}
}());
请查看此codepen以查看其是否有效。
答案 1 :(得分:0)
我对这个简单的代码运气不错:
throw new Error("Something terrible has happened");
当您只是抛出一个字符串时,您将失去错误堆栈等功能。在调用堆栈的某个地方,您可能希望执行以下操作:
catch(err) {
console.log(err.stack);
alert(err.message);
}