次のコード例を想定します。
/**
* @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
}
@method
docblockで宣言されたメソッドによってスローされた例外を IDE に検出させるにはどうすればよいですか? そうでない場合、これが可能かどうか疑問に思います-私の代替手段は何ですか?
このような@throws
場合、マジックメソッドで宣言されているように見えますが、完全に無視されます。もちろん、インスペクションを無効にすることもできますが、これは私にとってクリーンな解決策ではありません...