Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
如果代码给出错误do。。javascript_Javascript_Error Handling - Fatal编程技术网

如果代码给出错误do。。javascript

如果代码给出错误do。。javascript,javascript,error-handling,Javascript,Error Handling,当一段javascript代码在控制台中出现错误时。我如何做这样的事情:如果这段代码返回错误,执行另一段代码 这就是我所拥有的: try { var operator = <?=$this->shopRequest[operator]?>; } catch(errorObj) { var operator = sessionStorage.getItem('operator'); } 试试看{ var算子=; }捕获(错误对象){ var operator=s

当一段javascript代码在控制台中出现错误时。我如何做这样的事情:如果这段代码返回错误,执行另一段代码

这就是我所拥有的:

try {
    var operator = <?=$this->shopRequest[operator]?>;
} catch(errorObj) {
    var operator = sessionStorage.getItem('operator');
}
试试看{
var算子=;
}捕获(错误对象){
var operator=sessionStorage.getItem('operator');
}
这是我在控制台中遇到的错误:

未捕获的语法错误:意外标记


您可以这样做:

try
{
  // Run some code here
}
catch(err)
{
  // Handle errors here; You can make a call to the other piece of code from here
}

如果我正确理解了你的答案,你应该使用

try {
   // your code
} catch(e) {
   console.err('Ops ' + e); 
   // execute here other code
}
尝试:

var运算符=”;
警报(操作员);
编辑

更好的:

var operator = "<?=str_replace('"', '\"', $this->shopRequest[operator])?>";

var运算符=“查看
try…catch
的输出是什么
。我想它不包括所需的引号。如果不简单地修复语法错误,就无法修复语法错误。不要使用try/catch。这不是应该被捕获的错误,而是应该被修复的错误<代码>$this->shopRequest[operator]
显然不是您所期望的,所以请看一看。如果它应该是一个字符串,那么添加引号就足够了:
var operator=“”
@nieknijl您必须检测PHP中的情况,并防止生成语法错误的代码。鉴于OP在评论中说(查看您的答案,我相信您已经阅读了),输出是一个数字,这是无效的逻辑。如果数字是真的,你不应该将其输出为字符串,但现在我使用数字作为字符串,这是OK,因为我无法进入php代码,因为这是后端的东西,公司中的另一个人处理。我需要代表,添加你的答案,我将接受正确的答案,因为你是第一个,可能这是对你的剽窃。我知道我可以在我正在工作的cms中访问它,但我不能做比请求值更多的事情。@RGraham当时我还没有阅读你的评论,我开始写我的答案。有时,当我需要将值从PHP直接传递到JavaScript时,我会使用这种方法,我不想等到页面加载后再使用。所以如果你写下你自己的答案,如果你愿意,我会删除我自己的答案
var operator = "<?=str_replace('"', '\"', $this->shopRequest[operator])?>";