我在简化函数中使用Error()
对象抛出一个错误,如下所示:
function errorExample() {
try {
throw new Error('ConnectionError', 'cannot connect to the internet')
}
catch(error) {
console.log(error
}
}
我希望能够从catch语句中访问错误名称和消息。
根据Mozilla Developer Network,我可以通过error.proptotype.name
和error.proptotype.message
访问它们,但是上面的代码我收到了未定义的内容。
有办法做到这一点吗?感谢。
答案 0 :(得分:3)
您误读了文档。
所有Error.prototype
个实例上都存在Error
上的字段。由于error
是Error
构造函数的一个实例,因此您可以编写error.message
。
答案 1 :(得分:0)
默认情况下,错误的名称为“错误”,您可以覆盖它:
function errorExample() {
try {
var e = new Error('cannot connect to the internet');
e.name = 'ConnectionError';
throw e;
}
catch(error) {
console.log(error.name);
console.log(error.message);
}
}
答案 2 :(得分:0)
试试这个
function errorExample() {
try {
throw new Error('ConnectionError', 'cannot connect to the internet');
}
catch(error) {
console.log(error.message);
console.log(error.name);
}
}
errorExample() ;