С PHP 7 вы можете обрабатывать ошибки PHP, такие как TypeErrors, из-за несоответствия типов (как в вашем примере), а также исключений, перехватывая их общий интерфейс Throwable
.
Вы должны быть осторожны с этим,особенно внешние контроллеры, так как это может помешать вам увидеть непредвиденные ошибки, которые могут привести к проблемам в будущем, или вы не увидите, когда части вашего приложения полностью сломаны.По крайней мере, у вас должно быть правильное ведение журнала.
Таким образом, вы можете отлавливать ошибки вместе с таким исключением:
try {
...
} catch (\Throwable $error) {
...
}