js中的异常处理

时间:2021-07-01 18:39:04

js中的异常处理语句有两个,一个是try……catch……,一个是throw。

try……catch用于语法错误,错误有name和message两个属性。throw用于逻辑错误。

对于逻辑错误,js是不会抛出异常的,也就是说,用try catch没有用。这种时候,需要自己创建error对象的实例,然后用throw抛出异常。

(1)try……catch……的普通使用

错误内容:charAt()小写了

 try{
var str="0123";
console.log(str.charat(2));
}catch(exception){
console.log("name属性-->"+exception.name);//name属性-->TypeError
console.log("message属性-->"+exception.message);//message属性-->str.charat is not a function
}

(2)try……catch……无法捕捉到逻辑错误

错误内容:除数不能为0

try {
var num=1/0;
console.log(num);//Infinity
}catch(exception){
console.log(exception.message);
}

(3)用throw抛出异常,需要自己现实例化一个error

注意:throw要用new关键字初始化一个Error,E要大写。同时,这个Error是异常里面的message属性!

try{
var num=1/0;
if(num=Infinity){
throw new Error("Error大写,用new初始化-->除数不能为0");
}
}
catch(exception){
console.log(exception.message);
}