我理解导致运行时错误的原因。我想了解浏览器之后的行为。
错误之前附加事件处理程序是否仍然有效?
如果在运行时错误后加载的异步脚本能够执行吗?
基本上,运行时错误是多么灾难性?
答案 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;
之后不会执行任何进一步的语句,因为发生了运行时错误。