Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
捕获错误时强制执行Javascript_Javascript_Google Api - Fatal编程技术网

捕获错误时强制执行Javascript

捕获错误时强制执行Javascript,javascript,google-api,Javascript,Google Api,有时在执行Javascript代码的过程中会出现一些(非关键的)错误 虽然我意识到变通方法不是最好的解决方案,但我仍然被一个需要消除的阻塞错误所困扰 由于错误基本上是无法读取[0]个未定义的(数组不存在),因此我希望如下所示: try{ var abc = array[0]; } catch(e){ // continue execution // skip to the end of this function // run a different a functio

有时在执行Javascript代码的过程中会出现一些(非关键的)错误

虽然我意识到变通方法不是最好的解决方案,但我仍然被一个需要消除的阻塞错误所困扰

由于错误基本上是无法读取[0]个未定义的(数组不存在),因此我希望如下所示:

try{
    var abc = array[0];
} catch(e){
   // continue execution
   // skip to the end of this function
   // run a different a function [e.g. alternativeFunction()] 
   // ignore the error
}

try…catch块起作用,它打印错误,但我的Javascript代码被阻止。

为什么不先检查数组是否存在?为什么
try-catch
对您不起作用?我认为如果您检查数组的存在,就不需要try-catch块。简单地说,如果(array){var abc=array[0]}将执行此任务,那么实际上没有太多方法可以阻止JS代码执行。。。您确定没有其他错误导致代码停止执行吗?如果代码是您的实际代码,请按照上述注释中的建议添加检查数组是否不为null和适当的长度。如果它是示例代码,并且您确实需要非阻塞错误处理程序,请使用catch块中的js setTimeout函数在后台运行另一个函数。您完全正确。谢谢你的建议:)