Поискал на форуме, погуглил и все равно не до конца понимаю как работает try catch... Код (Text): function inverse($x) { if(!$x) { throw new Exception('Ошибка, которую мы получили'); } } try { $db = mysqli_connect('localhost','root','123456','xxxxx'); } catch(Exception $e) { echo 'Выброшено исключение', $e->getMessage(); } При таком виде все равно выводит ошибку в браузере. Что я делаю не так? И подскажите, пожалуйста, как вообще правильно обрабатывать все ошибки в php?
try catch - это не обработка ошибок, а перехват исключений. Функция mysqli_connect не генерирует никаких исключений, поэтому поймать их не получится.
Исключения: http://php.ru/manual/language.exceptions.html Ошибки обрабатываются примерно так: Код (Text): $с = @mysqli_connect('localhost','root','123456','xxxxx'); if( !$с ) { echo "Error!"; exit; }
Mysqli может кидать эксепшены на коннект, только надо ему это велеть делать. Доку гляньте, я с телефона.