Я новичок в php, и меня немного смущает тот факт, что, похоже, нет связи объекта ошибки от метода к его вызывающей стороне.
Вот два способа, которые я научился использовать:
Если метод не должен сообщать вызывающему об ошибке, он просто выдает ошибку, и если это не E_USER_ERROR, он просто может вернуть FALSE, чтобы сообщить вызывающему, что что-то пошло не так.
С другой стороны, если метод должен послать обратно вызывающему какую-то информацию об ошибке, должно быть вызвано исключение.
Придя из COCOA, я научился использовать исключения в исключительных случаях (невосстанавливаемые ошибки из-за ошибок программиста). В любом другом случае просто передайте объект ошибки вызывающей стороне.