phpstan 中可调用的异常

exception for callable in phpstan

提问人:Александр Рязанов 提问时间:10/26/2023 更新时间:10/26/2023 访问量:20

问:

如何描述phpDoc中可调用的异常? 例如,我有:

/**
 * @param callable(int): bool
 */
function (callable $foo, int $number): ?bool
{
    try {
        return $foo($number);
    } catch (InvalidNumberException) {
        return null;
    }
}

我想要这样的东西:

/**
 * @param callable(int): bool throws InvalidNumberException
 */
function (callable $foo, int $number): ?bool
{
    try {
        return $foo($number);
    } catch (InvalidNumberException) {
        return null;
    }
}
php 回调 static-analysis phpstan checked-exceptions

评论

0赞 Alex Howansky 10/26/2023
这不是记录可调用对象的正确位置。您可以声明可调用对象需要遵循的接口,然后记录该接口。
0赞 TSCAmerica.com 10/27/2023
若要在 PHPDoc 中记录可调用对象的异常,不能在可调用对象的@param行中指定异常。相反,您应该在函数或参数的一般描述中描述潜在的异常。
0赞 Александр Рязанов 11/12/2023
我正在尝试限制回调的签名。当我尝试传递函数而没有在签名中指定异常时,我需要 phpstan 显示错误。

答: 暂无答案