zoukankan      html  css  js  c++  java
  • 25 异常处理

    错误处理
      为什么要进行错误处理
        如果不处理,程序运行就会终止
      怎么捕获错误
        try ... catch ... finally
    错误类型
      JavaScript有一个标准的Error对象表示错误,还有从Error派生的TypeError、ReferenceError等错误对象。
    
    怎么处理error
      我们在处理错误时,可以通过catch(e)捕获的变量e访问错误对象
      使用变量e是一个习惯用法,也可以以其他变量名命名,如catch(ex)
    抛出错误
      程序也可以主动抛出一个错误,让执行流程直接跳转到catch块。抛出错误使用throw语句
      实际上,JavaScript允许抛出任意对象,包括数字、字符串。但是,最好还是抛出一个Error对象。
    
    错误传播
      如果在一个函数内部发生了错误,它自身没有捕获,错误就会被抛到外层调用函数,如果外层函数也没有捕获,该错误会一直沿着函数调用链向上抛出,直到被JavaScript引擎捕获,代码终止执行。
    
    同步错误处理(使用try..catch):
      同步的特性是:从上到下执行代码
      页面加载时从head开始加载的,js也是head中的js先执行
    
    异步错误处理
      在捕获的当时,回调函数并未执行,所以无法在调用时捕获
        编写JavaScript代码时,我们要时刻牢记,JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行,而回调函数的执行需要等到下一个满足条件的事件出现后,才会被执行。
      涉及到异步代码,无法在调用时捕获,因为调用函数执行时,回调函数未执行,回调函数执行时,调用函数早就执行完了,不再捕获异常了
    
    异常可以是 JavaScript 字符串、数字、逻辑值或对象。
    
    try{
      var input =document.querySelector("#text1").value;
      console.log("input="+input)
      if(input=="") throw "值为空";
      if(isNaN(input)) throw "不是数字";
      if(input>10) throw "太大";
      if(input<5) throw "太小";
      }catch(err){
      p.innerHTML="错误:"+err+"!";
    }
    

      

  • 相关阅读:
    vuex2.0 基本使用(4) --- modules
    vuex2.0 基本使用(3) --- getter
    vuex2.0 基本使用(2) --- mutation 和 action
    vuex2.0 基本使用(1) --- state
    git bash 下操作文件及文件夹命令
    SOFA 源码分析 — 负载均衡和一致性 Hash
    SOFA 源码分析 — 预热权重
    SOFA 源码分析— 事件总线
    SOFA 源码分析 — 自定义线程池原理
    SOFA 源码分析 — 链路数据透传
  • 原文地址:https://www.cnblogs.com/xuanjian-91/p/10267703.html
Copyright © 2011-2022 走看看