美文网首页
try-catch(err)-finally

try-catch(err)-finally

作者: Christoles | 来源:发表于2019-02-27 17:10 被阅读0次

    错误捕捉语句

    1. 语法:

    • 1、try { 执行可能出错的代码 }

    • 2、catch(e) { 执行错误提示的代码,常常会加上e.message(自动报告错误信息) }

      • 2.1、throw语句:自定义错误信息
    • 3、finally { \color{blue}{可选} 无论 try / catch 的结果如何都会执行。}

    \color{red}{注:}

    • \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("有没有出现错误我都会执行!")
    }
    
    结果:
    image.png
    image.png

    4. try - catch 还可以做兼容处理

    比如:
      这里需要先了解\color{blue}{addEventListener()}\color{blue}{attachEvent()}的函数语法。

    • 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

          本文链接:https://www.haomeiwen.com/subject/xvmfuqtx.html