zoukankan      html  css  js  c++  java
  • Js中最常见的异常捕捉 TryCatch

     今天检查网页的时候因为一段Js报错 导致下面的js没有执行(一个js动态添加的弹窗没有出现)

    原因是因为

     一个属性本身是undefined 找不到 无法给他赋值 
    这里的原因很简单 也已经修改好了

    但是这里我不禁思索 如果能提前避免这样的错误发生而导致不必要的损失岂不美哉?

    好了try catch就为我们提供了这种捕捉未来可能发生的错误并提示 在你可能预测到此方法会报错像这样

    try {
    yourFn() ;//maybe errored
    } catch (e) { console.log(e.name + ": " + e.message); }
    otherFn() ;

    这里就算是你的yourFnf方法报错也不会 影响下面代码的执行 就是这么easy!

    下面介绍的是可能遇到的系统异常
    • EvalError: raised when an error occurs executing code in eval()   当一个错误发生在()执行的代码
    • RangeError: raised when a numeric variable or parameter is outside of its valid range  当一个数值变量或参数超出其有效范围时引发的
    • ReferenceError: raised when de-referencing an invalid reference  无效的饮用
    • SyntaxError: raised when a syntax error occurs while parsing code in eval()  当发生语法错误在()解析代码,而
    • TypeError: raised when a variable or parameter is not a valid type  当一个变量或参数不是一个有效的类型时引发
    • URIError: raised when encodeURI() or decodeURI() are passed invalid parameters  当encodeuri()或decodeuri()传递了无效的参数

        上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:

     

    new Error();
    new Error("异常信息");

      这样手动抛出异常

     

    try {
     throw new Error("Whoops!");
    } catch (e) {
     alert(e.name + ": " + e.message);
    }
  • 相关阅读:
    html不点击提交,自动post
    wpf slider刻度
    visual studio 的 code snippet(代码片段)
    更换手机号之前
    post提交
    动态修改settings
    获取文件数据流+叠加byte数组(给byte数组加包头包尾)
    装箱与拆箱
    ue4中窗口打开web地址
    C++通过Callback向C#传递数据,注意问题
  • 原文地址:https://www.cnblogs.com/Zwq286179/p/5999450.html
Copyright © 2011-2022 走看看