错误捕捉语句
1. 语法:
-
1、try { 执行可能出错的代码 }
-
2、catch(e) { 执行错误提示的代码,常常会加上e.message(自动报告错误信息) }
- 2.1、throw语句:自定义错误信息
-
3、finally { 无论 try / catch 的结果如何都会执行。}
- \n 表示换行
- //TODO : 用来表示这个地方还有一些事情要做,一些代码要写,要修改。
(handle the exception)
2. 实例演示 (不选finally):
try{
console.log(test)//这里给一个错误演示:因为test没有被定义,所以会报错。
}catch(err){//err接受try语句中的错误信息
var txt = "发生错误:\n"+e.message; //可以自定义报错的格式;
console.log(txt)
}
结果:
image.png3. 实例演示 (选finally & 使用 throw 自定义错误信息):
var age=prompt('请输入你的年龄');
try{
//if 根据条件判断的 内容或顺序 的不同,对结果有影响***
if(isNaN(age)){throw "你输入的不是一个数字!"}
if(age==""){throw "值不能为空!"}
if(age<18){throw "你的年龄太小了!"}
}catch(err){
console.log(err);
}finally {
console.log("有没有出现错误我都会执行!")
}
结果:
image.pngimage.png
4. try - catch 还可以做兼容处理
比如:
这里需要先了解和的函数语法。
- 1、elementObject.addEventListener(eventName,funName,useCapture) (支持主流浏览器、以及IE9.0及以上)
- eventName:要绑定的事件名称。( 注意写法!比如点击事件,写成click,而不是onclick )
- funName: 处理事件的函数名。
- useCapture:Boolean类型,是否使用捕获,一般使用false。
- 2、elementObject.attachEvent(eventName,funName);(仅支持IE8及以下)
function addEvent(obj,type,funName){
try{
obj.addEventListener(type,handle,false);
}catch(e){
try{
obj.attachEvent('on'+type,funName);
}
catch(e){
obj['on' + type]=funName;//早期浏览器
}
}
}
相比较 if{}else{}语句,try{}catch{}处理这个兼容,可以避免浏览器出现错误提示。
网友评论