Это невозможно.Это фатальная ошибка, а не исключение.
Поэтому ее невозможно перехватить.
В этом самом случае вы можете отказаться от ошибки , однако с:
if (function_exists("sp")) {
return sp('ABC'); // sp is undefined function
}
Точно так же вы можете обернуть свой $this->makeError();
вызов этим тестом.Но это будет означать обработку других методов interna.И в любом случае, это просто позволило бы избежать этого супер специфического крайнего случая.