请注意,即使此异常不是基于 RuntimeException,它也是未检查的。此类错误必须直接在代码中修复,而不是在异常处理中修复。
还要记住,IDE(我的 IDE 是 Phpstorm 2018.3.4)的检查会由于这个原因而突出显示它,因此不要为任何 Runtime 异常创建 phpdoc,其中包含 throws。
<?php
/**
* 这种方式是错误的
*
* @throws \ReflectionException
*/
function createReflection()
{
return new \ReflectionClass('无效参数');
}
/**
* 这种方式很好(当然我不是指代码)
*/
function createReflection()
{
return new \ReflectionClass('无效参数');
}