当出现 javascript 运行时错误时会发生什么?

What happens when there is a javascript runtime error?

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

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

如果异步加载的脚本在 运行时间错误后完成,它能执行吗?

基本上,运行 时间错误的灾难性程度如何?

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

  • 执行脚本
  • 事件处理器的调用

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

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

每当打开网页时,所有脚本都会开始加载。如果任何脚本遇到任何运行时错误,则该脚本的执行将停止。这意味着脚本中的任何其他语句都不会被浏览器执行。您可以在浏览器的控制台 window 上找到这些错误。但是,您可以使用 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; 之后不会再执行任何语句,因为发生了运行时错误。

您可以使用 try/catch/finally 块。使用 catch 块,您可以在错误内部导航,当发生 运行 次错误或发生非法操作时,它将是 运行ning。访问这个 link,这里有一些关于 try/catch/finally http://www.javascriptkit.com/javatutors/trycatch.shtml

的更多信息

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