假设以下示例代码:
/**
* @method bool someMethod()
*/
class MyClass
{
/**
* @throws MyClassException
*/
public function __call($method, $args)
{
if ($this->someCheck()) {
throw new MyClassException();
}
}
}
//...
try {
(new MyClass())->someMethod();
} catch (MyClassException $e) { // Reported by PHPStorm as not thrown!
// of course the exception is properly caught
}
如何让 IDE 检测由声明的方法抛出的异常@method
文档块?想知道这是否可能做到,如果不可能的话——我的选择是什么?
这好像是@throws
在这种情况下,在魔术方法中声明的内容将被完全忽略。当然我可以禁用检查,但这对我来说不是干净的解决方案......
它说在一段时间内是可能的(如果我正确阅读票证的话,某些 2018.1.x 版本),但后来“由于可用性问题”,它在 2018.1.3 被回滚。
我同意这一点——并不是每个人都会乐于看到每个神奇方法调用都出现未处理的异常警告(例如 Laravel 经常使用它)——因为并非每个神奇方法都可以抛出异常。
Anyway: https://youtrack.jetbrains.com/issue/WI-39284-- 观看此票证(星标/投票/评论)以获取有关任何进展的通知。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)