肉渣教程

JS Try Error

上一节 下一节
  • try语句可用来测试与调试代码错误
  • catch语句可用来捕捉具体的错误
  • throw语句可用来故意抛出一个错误
  • finally语句定义的代码块紧接着try...catch语句,无论try语句是否出错,finally语句定义的代码块都会被执行。

try...catch 语句

执行JavaScript语句时,经常会出现不同的错误,当出错了,程序就抛锚了,停了。但对于一些可以预计可能出错的地方,可用try...catch语句来进行错误调试。针对错误,而执行相应代码。而且整个程序进程并不会因为此异常错误而停止运行。

如下所示,为了演示案例,在try语句声明的代码块中,故意出错;当出错时,则会执行catch语句。

  • 代码块2没有错误,则JS执行顺序是:语句1 --> 代码块2 --> 语句4
  • 代码块2有错误,则JS执行顺序是:语句1 --> 代码块2执行到出错的点 --> 代码块3 --> 语句4
语句1

try {
  代码块2
}
catch(err) {
  代码块3
}

语句4

运行一下

throw语句 - 主动抛出错误

上述的例子中,是故意写错;其实嘛,可以通过throw语句主动抛出错误,且还能对错误信息进行描述。

try {
  throw( "此乃错误也" );
}
catch(err) {
  document.getElementById("demo").innerHTML = err;
}

运行一下

finally语句 - 不管出错与否,都得执行此代码块

finally语句紧接着try...catch语句,会声明一个代码块,不管try语句是否出错,最终都会执行finally语句声明的代码块。

  • 代码块2没有错误,则JS执行顺序是:语句1 --> 代码块2 --> 代码块4 --> 语句5
  • 代码块2有错误,则JS执行顺序是:语句1 --> 代码块2执行到出错的点 --> 代码块3 --> 代码块4 --> 语句5
语句1

try {
  代码块2
}
catch(err) {
  代码块3
}
finally {
  代码块4
}

语句5

运行一下


JS Try Error

上一节 下一节