为什么有些人在抛出异常后会返回?无法访问的代码

2022-08-30 16:04:11

我在Github上的一些代码中看到

if($something_funky_happens){
  throw new \LogicException(...);
  return;
}

这是必需的,还是返回不重要?因为我知道在你抛出异常后脚本停止,所以进一步的代码不会运行


答案 1

无法访问的代码

我倾向于在他们的代码中将其表示为错误。该语句不可访问。每个静态代码分析工具都会抱怨这个无法访问的语句。即使在这种情况下没有害处,在检查代码时也会收到大量警告。如果关闭这些警告类型,则可能会错过代码中的其他逻辑错误。这是一股非常难闻的气味,需要修复。


答案 2

因为他们犯了一个错误,或者这是他们的个人喜好。不可能在该代码中访问它,但是包含它并没有真正的危害。return

文档(强调我的)

当抛出异常时,语句后面的代码将不会执行,PHP 将尝试查找第一个匹配的 catch 块。


推荐