Начиная с PHP 5.5.0 доступна специальная константа ::class, которой на этапе компиляции присваивается полное имя класса. Полезна при использовании пространств имен для классов: php.net/manual/ru/language.oop5.constants.php
это значит Engine\Service\Database::class что он вернёт строку с названием класса к примеру 'Engine\Service\Database'
Все фатальные ошибки выводятся и логируется, в это я могу уверить. Но если это ошибки логики приложения то по сути ошибки нет, вам помогут Exception() или же trigger_error() или его алиас users_error()