В случае, если $dbh = new PDO($dsn, $user, $password); выдаст ошибку - показать пользователю картинку с котенком и фразу "ой, что-то сломалось".
Поэтому использовать try..catch нужно только тогда, когда вы собираетесь ОБРАБОТАТЬ ошибку - то есть, совершить какое-то действие, связанное с ФАКТОМ ошибки - откатить транзакцию, например.
Показать пользователю заглушку и прекратить дальнейшее выполнение скрипта подходит под
это?
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
log($e); //см пунктик ниже
die('<img src="cat.jpg"><br>Ой, что-то сломалось!');
}
...
дальше идет сам скрипт, который будет выполняться только, если мы успешно подключимся
А если я хочу, чтобы в случае ошибки мне отправилось письмо на почту и вся информация(время, ип адрес пользователя, куки, сессия и тд положились в БД или .txt), то я правильно создаю функцию log($e), которая всем этим и занимается?
Заранее благодарен за ответ!