請注意,即使此例外不是基於 RuntimeException,它也是未檢查的。此類錯誤必須導致程式碼中的直接修復,而不是在處理情況的 catch 中修復。
另請記住,IDE(我的 IDE 是 Phpstorm 2018.3.4)的檢查會因此而突出顯示它,因此不要為任何 Runtime 例外建立帶有 throws 的 phpdoc。
<?php
/**
* 這種方式是錯誤的
*
* @throws \ReflectionException
*/
function createReflection()
{
return new \ReflectionClass('invalid argument');
}
/**
* 這種方式是可以的(我當然不是指程式碼)
*/
function createReflection()
{
return new \ReflectionClass('invalid argument');
}