浏览器异常信息捕获
@(前端)
//我们在js中使用try,catch进行浏览器的异常信息捕获
console.log(num);//Uncaught ReferenceError: num is not defined->num没有被定义 在JS中本行报错,下面的代码都不再执行了
console.log("ok");
try{
console.log(num);
}catch(e){//->形参必须要写,我们一般起名为e
console.log("报错啦~~~");
console.log(e.message);//->num is not defined 可以手机当前代码报错的原因
}
console.log("ok");
我们console.log(num);执行报错,如果用try\catch捕获了异常信息,不影响下面的代码执行;如果try中的代码执行出错了,会默认的去执行catch中的代码;
完整版
try{
//<js code>
}catch(e){
..如果代码报错执行catch中的代码
}finally{
//一般不用:不管try中的代码是否报错,都要执行finally中的代码
}
//有时候既想捕获到错误的信息,又想不让下面的代码继续执行
try{
console.log(num);
}catch(e){
//console.log(e.message);->可以得到错误的信息,把其进行统计
//既想得到错误信息,又不想让下面的console.log("ok")继续执行,那就手动抛出一条错误信息,终止代码执行
throw new Error("当前网络繁忙,请稍后再试");
}
console.log("ok");
Throw语句
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
throw new Error(“当前网络繁忙,请稍后再试”);
new Error 不是创建一个新的错误而是Error类的一个实力
//new ReferenceError->引用错误
//new TypeError->类型错误
//new RangeError->范围错误