Meto un poco mi nariz acá, el usar try y catch no es obligatorio, pero como es útil, y es algo que los desarrolladores PHP deberíamos empezar a implementar, PHP a partir de su versión 5 tiene soporte para objetos y debemos utilizar todas las ventajas de este paradigma. Un try y un catch no es si funciona o no funciona es una manera de trabajar o manejar las excepciones que te manden el interprete de php, una excepción es considerado un error o algo que no debería ocurrir en un código sea cual sea el lenguaje, entonces si vemos try en ingles es trata catch es captura entonces poniendo un simple ejemplo con conexiones como el siguiente
Código PHP:
Ver original$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
sencillamente le decimos trata de conectar al server mysql, si ocurre una excepcion capturala y muestra el mensaje (o bien puedes hacer otra cosa con el), entonces es obligatorio?? no pero como es necesario en mi opinión y creo que en la de muchos otros, sino no existieran.
Vector_Latino el hecho de ocultar un error no lo corrige solo no lo muestra y en mi opinión personal es una mala práctica, ya que no te permite hacer debug de manera correcta.
Saludos
Edit coloque un ejemplo con
PDO para que le echen un ojo es una abstracción para conexiones a las base de datos