Принимая следующий пример кода:
/**
* @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
docblock? Интересно, если это вообще возможно сделать, если нет - каковы мои альтернативы?
Кажется, что @throws
, объявленное в магических методах, полностью игнорируется в подобных случаях. Конечно, я мог бы отключить проверки, но это не чистое решение для меня ...