Я следую за курсом OOP mysqli. При подключении к базе данных, они используют следующий сценарий:Попробовать/поймать в PHP
$db = new mysqli("host", "user", "password", "database");
if ($db->connect_error){
$error = $db->connect_error;
echo("Not connected: " . $error);
}
Позже, хотя, они называют файл подключения к базе данных с помощью попытаться/поймать блока:
try {
require_once "connection.php";
}catch (Exception $e){
$error = $e->getMessage();
echo $error;
}
Разве это не возможно ошибка соединения является обрабатывается файлом подключения сразу после попытки подключения? Является ли блок try/catch главным образом тем же? Или блок try/catch ищет другой тип ошибки?
ОБНОВЛЕНИЕ. Просто уточнить, прочитав некоторые ответы. Когда я просто делаю это:
try {
$db = new mysqli("host", "user", "password", "database");
}catch (Exception $e){
$error = $e->getMessage();
echo $error;
}
при условии, что данные доступа к базе данных неверно (например, неверный хост), я получаю предупреждение PHP, но не выходной ошибка в блоке поймать. Не следует ли поймать эту ошибку?
Пожалуйста, добавьте ссылка на курс –
Если файл подключения генерировал исключение, и если блок catch завершил выполнение скрипта после отображения какого-либо исключения, я был бы склонен согласиться ... но на самом деле ничего на самом деле не обрабатывает какую-либо проблему соединения , потому что скрипт будет продолжать выполнять g независимо от того, имеет ли он соединение с базой данных или нет –
joebezucha, курс называется доступом к базам данных с объектно-ориентированным PHP от lynda.com – cesarcarlos