НАсколько криво вот так работать с Error и Exception? В одном классе сосредоточены методы обработки и ошибок(set error handler) и исключений(set exception handler)namespace System\Core\Errors use \ErrorException use \Throwable class ErrorTra
public function exceptionHandler(Throwable $exception)
//Тут пишется лог исключения (Для error отдельный лог как и для исключений //И отправка на e-mail/sms-gate информации о сбое
public function errorHandler($severity, $msg, $file, $line
if (!(error_reporting() & $severity)) return throw new ErrorException($msg, 0, $severity, $file, $line)
Подозреваю что это оочень криво, ибо смешивается логика работы с ошибками и исключениями в одном классе(или я не прав?). Нужно ли их раскидывать по классам, чтоб соблюсти хоть немного принцип единой ответственности И можно ли вообще ошибки преобразовывать таким образом в исключения(наверное да, но не уверен) И еще, с появлением Throwable нужно ли плодить такое baseException/NotFoundException...(если да, то через через имплемент Throwable?)?
Да, смешивание логики обработки ошибок и исключений в одном классе может быть не самым лучшим подходом с точки зрения принципа единой ответственности. Разделение их на отдельные классы поможет сделать код более читаемым и поддерживаемым. Например, можно создать отдельный класс для обработки ошибок и отдельный класс для обработки исключений.
Преобразование ошибок в исключения возможно и иногда даже целесообразно, так как исключения более гибки и позволяют более точно контролировать процесс выполнения кода.
С появлением интерфейса Throwable в PHP 7, не обязательно плодить собственные исключения. Вместо этого, можно использовать встроенные исключения PHP или создавать собственные классы исключений, реализующие интерфейс Throwable. Это делает код более совместимым с современными стандартами и позволяет более гибко управлять исключениями.
Да, смешивание логики обработки ошибок и исключений в одном классе может быть не самым лучшим подходом с точки зрения принципа единой ответственности. Разделение их на отдельные классы поможет сделать код более читаемым и поддерживаемым. Например, можно создать отдельный класс для обработки ошибок и отдельный класс для обработки исключений.
Преобразование ошибок в исключения возможно и иногда даже целесообразно, так как исключения более гибки и позволяют более точно контролировать процесс выполнения кода.
С появлением интерфейса Throwable в PHP 7, не обязательно плодить собственные исключения. Вместо этого, можно использовать встроенные исключения PHP или создавать собственные классы исключений, реализующие интерфейс Throwable. Это делает код более совместимым с современными стандартами и позволяет более гибко управлять исключениями.