Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 在if-else块中抛出错误的适当方法_Javascript_Node.js_If Statement - Fatal编程技术网

Javascript 在if-else块中抛出错误的适当方法

Javascript 在if-else块中抛出错误的适当方法,javascript,node.js,if-statement,Javascript,Node.js,If Statement,我想知道,在if-else块中,哪一种(A或B)是编写throw语句的合适方法: 下面的方框用于说明目的,并假设已定义了内容 //A //B B中唯一的区别是显式使用else语句。我的问题是,最好的写作方式是什么。(这是一个nodejs示例,但该理论也适用于其他语言)我建议使用块A,特别是如果您有嵌套的if/else块 A也被称为guard子句,如果您不想在某些情况下执行整个方法,它很有用。完全由您决定,它只是一种样式选择,我更喜欢第一种方法,因为它在顶部验证所有false行为,然后干净地编写主

我想知道,在if-else块中,哪一种(A或B)是编写throw语句的合适方法:

下面的方框用于说明目的,并假设已定义了内容

//A

//B


B中唯一的区别是显式使用else语句。我的问题是,最好的写作方式是什么。(这是一个nodejs示例,但该理论也适用于其他语言)

我建议使用块A,特别是如果您有嵌套的if/else块


A也被称为guard子句,如果您不想在某些情况下执行整个方法,它很有用。

完全由您决定,它只是一种样式选择,我更喜欢第一种方法,因为它在顶部验证所有
false
行为,然后干净地编写主逻辑,
else
语句中没有嵌套代码。但正如CertainPerformance所说,选择什么完全取决于你。谢谢@CertainPerformance和Shaharya。感谢您的评论。这个问题的全部目的是检查一般的模式和接受度,如果其他的话,请写出来。。在任何编程语言中抛出代码。谢谢大家。谢谢@Alexander。感谢您的评论一旦您能够标记,请标记基于意见的问题,以便结束。如果您没有标记的能力,请避免发布此类问题的答案
if(ruleId !=100)
      throw new RuleError(RULES_EXCEEDED);
const getRuleList = getRules(rule);
// Some more code down the line.....
if(ruleId !=100)
      throw new RuleError(RULES_EXCEEDED);
else {
 const getRuleList = getRules(rule);
 // Some more code down the line.....
}