请注意,即使此异常不是基于 RuntimeException,它也是未检查的。此类错误必须直接在代码中修复,而不是在情况的 catch-handle 中修复。
还要记住,IDE(我的 IDE 是 Phpstorm 2018.3.4)检查会因此突出显示它,因此不要为任何 Runtime 异常创建 phpdoc with throws。
<?php
/**
* 这种方法是错误的
*
* @throws \ReflectionException
*/
function createReflection()
{
return new \ReflectionClass('invalid argument');
}
/**
* 这种方法是可以的(当然,我指的不是代码)
*/
function createReflection()
{
return new \ReflectionClass('invalid argument');
}