Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 catch语句中是否有逻辑代码if-else语句?_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript catch语句中是否有逻辑代码if-else语句?

Javascript catch语句中是否有逻辑代码if-else语句?,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我不确定这是对还是错,但我内心深处的某种东西告诉我,在catch stm上使用逻辑代码是错误的。 对于ex,我的捕获看起来像这样: try{ // do some stuff that throws some unexpected errors } catch (error) { if (error?.graphQLErrors[0]) { let msg = error.graphQLErrors[0].me

我不确定这是对还是错,但我内心深处的某种东西告诉我,在catch stm上使用逻辑代码是错误的。 对于ex,我的捕获看起来像这样:

      try{
       // do some stuff that throws some unexpected errors
      }
      catch (error) {
        if (error?.graphQLErrors[0]) {
          let msg = error.graphQLErrors[0].message
          switch (msg) {
              case 'limited':
              // TODO:: handle 
            default:
              window.location.href = "www.someurl.com";
          }
        }

主要是我认为catch stm通常应该保持简短和干净,没有可能导致另一个错误或异常的逻辑,如果catch中的代码抛出一些错误会发生什么?

如果逻辑是为了处理或报告错误而存在的,那么在
catch
块中有逻辑就可以了。这就是
catch
块的用途

如果catch中的代码抛出一些错误,会发生什么

这是一个新的错误。如果您没有捕获它,它将传播到调用方,等等

例如:

函数示例(){
试一试{
//“x”没有“foo”方法,因此会导致错误:
“x”.foo();
}捕获(e){
log(`captured error in\`example\`:${e.message}`);
//“y”没有“bar”方法,因此会导致错误:
y.bar();
}
}
函数包装器(){
试一试{
示例();
}捕获(e){
log(`captured error in\`wrapper\`:${e.message}`);
}
}

包装器()
catch
块中有逻辑就可以了,如果有逻辑是为了处理或报告错误的话。这就是
catch
块的用途

如果catch中的代码抛出一些错误,会发生什么

这是一个新的错误。如果您没有捕获它,它将传播到调用方,等等

例如:

函数示例(){
试一试{
//“x”没有“foo”方法,因此会导致错误:
“x”.foo();
}捕获(e){
log(`captured error in\`example\`:${e.message}`);
//“y”没有“bar”方法,因此会导致错误:
y.bar();
}
}
函数包装器(){
试一试{
示例();
}捕获(e){
log(`captured error in\`wrapper\`:${e.message}`);
}
}
包装器()
catch语句中是否有逻辑代码if-else语句

如果catch中的代码抛出一些错误,会发生什么

错误将传播到下一个try-catch块

catch语句中是否有逻辑代码if-else语句

如果catch中的代码抛出一些错误,会发生什么


错误将传播到下一个try-catch块。

“如果catch中的代码抛出一些错误,会发生什么情况?”好的,您将得到一个错误。但是你的代码对我来说真的很好。logc是否正确(如果无法处理,则重定向)是另一回事。然后它将转到下一个更高的try/catch。如果没有上层catch,您可能希望防止catch块中出现错误这里没有问题“如果catch中的代码抛出一些错误会发生什么”嗯,您会得到一个错误。但是你的代码对我来说真的很好。logc是否正确(如果无法处理,则重定向)是另一回事。然后它将转到下一个更高的try/catch。如果没有上限捕获,您可能希望防止捕获块中出现错误。此处没有任何错误。为什么发布的答案只说明已发布的答案所说的内容,但不完整?为什么发布的答案只说明已发布的答案所说的内容,但不完整?