Infinitiweb / code-conventions

MIT License
8 stars 3 forks source link

Логирование перехваченный исключений #7

Open hello-omny opened 6 years ago

hello-omny commented 6 years ago

Внести рекоммендации по обработке исключений.

Если вы перехватываете исключения и не пробрасываете их дальше, имеет смысл записать их сообщение в лог, дабы не профакапить условия падение приложения:

try {
//... some code
} catch (SmsNotSendException $exception) {
  Yii::$app->session->setFlash('warning', 
    sprintf('Sms to %s not sanded. Has a program error. Plz, try later.', 
      $model->phone
    )
  );
  Yii::warning(
    sprintf('Sms not sanded. Phone: %s. Response message: %s.', 
      $model->phone, 
      $exception->getMessage()
    )
  );
}

В особых случаях есть смысл настраивать оповещения через Yii::$app->log. Настройка целей логов в Yii2

tolvinskii commented 6 years ago

+1

kamilov commented 6 years ago

Это всё от логики зависит, если тебе надо логировать, логируй. Но если я перехватываю условный ItemNotFound, то я просто знаю, что нет такой записи