当存在javascript运行时错误时会发生什么?

时间:2015-04-01 15:22:54

标签: javascript runtime-error

我理解导致运行时错误的原因。我想了解浏览器之后的行为。

错误之前附加事件处理程序是否仍然有效?

如果在运行时错误后加载的异步脚本能够执行吗?

基本上,运行时错误是多么灾难性?

3 个答案:

答案 0 :(得分:3)

未捕获的运行时错误仅停止当前执行,可能是

  • 执行脚本
  • 调用事件处理程序

假设您在处理事件时遇到运行时错误,您可能遇到的唯一问题(除了没有真正处理事件之外)是用户变量的非一致状态(如果您的事件处理程序修改了其中一些)。除此之外,其他事件处理程序不会受到影响。

所以它通常被认为是非灾难性的(我想我不必记住它是一个很好的做法,无论如何修复错误并且充满错误的控制台并不是一件好事。)

答案 1 :(得分:2)

您可以使用try / catch / finally块。使用catch块,您可以在错误内部导航,并在发生运行时错误或发生非法操作时运行。访问此链接,以下是有关try / catch / finally http://www.javascriptkit.com/javatutors/trycatch.shtml

的更多信息

运行时错误可能是灾难性的,取决于它发生的位置以及代码发生时的代码。通过这种方式,您可以崩溃所有应用程序或只是停止一些插件。

答案 2 :(得分:0)

每当打开网页时,所有脚本都会开始加载。如果任何脚本遇到任何运行时错误,则该脚本的执行将停止。这意味着脚本中的任何其他语句都不会被浏览器执行。您可以在浏览器的控制台窗口中找到这些错误。但是,您可以使用try catch块来处理发生的异常。 例如,请考虑以下脚本:

<script>
    var x=10, y=0;
    /*...............
    .................
    perform some other tasks here
    This will execute with no error
    .................
    ................*/
    var z=x/y; //here error occur
//below any statements will never execute.
{
    /*................
    ..................
    some operations
    this block will not execute because a runtime error occurs above.
    ..................
    ................*/
}
</script>

语句var z=x/y;之后不会执行任何进一步的语句,因为发生了运行时错误。