try-catch(err)-finally

错误捕捉语句

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.png

3. 实例演示 (选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("有没有出现错误我都会执行!")
}
结果:
try-catch(err)-finally_第1张图片
image.png

image.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{}处理这个兼容,可以避免浏览器出现错误提示。

你可能感兴趣的:(try-catch(err)-finally)