循环的Javascript,直到出现错误

Javascript for loop until error

本文关键字:错误 Javascript 循环      更新时间:2024-03-27

我想创建一个循环,该循环将一直持续到出现错误,然后继续…

for (var m = 0; m != 'Error'; m++)

如果我把迭代推得太高,它会抛出一个"TypeError",这表明已经达到了极限。这个for循环存在于另一个循环中,该循环需要继续,而不是使脚本崩溃,只是中断循环。

谢谢!

编辑代码如下:

for (var i = 0; i < 100; i++) {
  var xml = fs.readFileSync('./Filename-' + (i + 100) + '.xml', 'utf-8');
  var level1 = bb(xml)
  for (var m = 0;; m++) {
    try {
     if (level1.data.level2[m].product.code == '7472558') {
        console.log(level1.data.level2[m].product.code);
        total++}
    }
    catch (e) {
     break;
    }
  }
console.log(total)
}

您可以将抛出错误的代码包装在try中,然后将break封装在catch块中:

for (var m = 0;; m++) {
  try {
    // code that throws the error
  } catch (e) {
    // exit the loop
    break; 
  }
}

(请注意,只有当代码抛出错误时,上面的循环才会终止。)

while( someOuterLoopCondition ) {
    var m = 0;
    var innerLoopOK = true;
    while( innerLoopOK ) {
        try {
            // your original inner-loop body goes here
        } catch e {
            innerLoopOK = false;
        }
        m++;
    }
}

或者:

while( someOuterLoopCondition ) {
    for( var m = 0; m < upperBound; m++ ) {
        try {
            // your original inner-loop body goes here
        } catch e {
            break; // breaks inner-loop only
        }
    }
}