异常处理

Posted xuanjian-91

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理相关的知识,希望对你有一定的参考价值。

错误处理
  为什么要进行错误处理
    如果不处理,程序运行就会终止
  怎么捕获错误
    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+"!";
}































以上是关于异常处理的主要内容,如果未能解决你的问题,请参考以下文章

java异常处理详解!!

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

Kotlin 协程Flow 流异常处理 ( 收集元素异常处理 | 使用 try...catch 代码块捕获处理异常 | 发射元素时异常处理 | 使用 Flow#catch 函数捕获处理异常 )

异常处理,约束,MD5加密,日志处理

PHP异常处理

Java的异常处理语法