try{
$response = $controller->index();
}
catch(Exception $ex){
$logger->error($ex);
$response = Response::create('Uh oh, something broke internally.',
Response::HTTP_INTERNAL_SERVER_ERROR);
}
$response->send();
public function index(){
$syncData = $this->sunc->getSyncData();
foreach($syncData as $id => $data){
try{
$this->sunc->process($data);
$this->syncLogger->debug("success for data ". $id);
}
catch(SyncDataErrorException $ex)
$this->syncLogger->debug($ex->getMessage());
}
catch(SyncAuthErrorException $ex)
$this->syncLogger->debug($ex->getMessage());
throw $ex;
}
}
}
В какой момент мне записывать в лог?
А как быть с исключениями, которые не обработал?
Если весь функционал обернуть в try - catche, то мне там придется десятки swicth-case перебирать классы экзепшином, чтобы понимать, с каким исключением что делать..
->getUsers(
UserCriteria::create()->setLimit(50)->setOrderByCreate("ASC")
);
public function save(){
return $this->db->save($this->getDataSet());
}
public function save(){
try{
$this->db->save($this->getDataSet());
}
catch(\DbDriverException $ex){
throw new RepositoryException($ex->getMessage(),$ex->getCode(),$ex);
}
}
Вероятно, наиболее важным отличием репозиториев является то, что они представляют собой коллекции объектов.
еще раз напомню вы пытаетесь заранее заложить логику обработки, не нужно так делать. Вот вы пишите
а если в Вы или кто то еще из поставленной бизнес задачи решит что не нужно логировать исключение с PreloggedInterface , не нужно и все. И тем самым будет путаница
где то ходит исключение с PreloggedInterface которое должно логироваться, а последнее условие не соблюдается по причине ненадобности.