nuevo mysqli (): ¿cómo interceptar un error 'no se puede conectar'?

Estoy haciendo esto(Sí, estoy usando datos de conexión incorrectos, es para forzar un error de conexión)

26 try {
27     $connection = new mysqli('localhost', 'my_user', 'my_password', 'my_db') ;
28 } catch (Exception $e ) {
29     echo "Service unavailable";
30     exit (3);
31 }

Pero PHP está haciendo esto php_warning:

mysqli :: mysqli (): (28000/1045): Acceso denegado para el usuario 'my_user' @ 'localhost' (usando la contraseña: YES)

En el ejemplo, estoy usando datos de conexión erróneos para forzar un error de conexión, pero en el mundo real la base de datos podría estar inactiva o la red podría estar inactiva ... etc.

Pregunta: Hay alguna manera,sin suprimir las advertencias, ¿Para interceptar un problema con la conexión de la base de datos?

Respuestas a la pregunta(5)

Su respuesta a la pregunta