PHP Manejo de errores: die () Vs trigger_error () Vs throw Exception
En lo que respecta al manejo de errores en PHP: hasta donde sé, hay 3 estilos:
die()
oexit()
estilo:
$con = mysql_connect("localhost","root","password");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
throw Exception
estilo:
if (!function_exists('curl_init')) {
throw new Exception('need the CURL PHP extension.
Recomplie PHP with curl');
}
trigger_error()
estilo:
if(!is_array($config) && isset($config)) {
trigger_error('Error: config is not an array or is not set', E_USER_ERROR);
}
Ahora, en el manual de PHP se utilizan los tres métodos.
Lo que quiero saber es qué estilo debería preferir y por qué.
¿Son estos 3 reemplazos entre sí y, por lo tanto, se pueden usar indistintamente?
Slightly OT: ¿Soy yo o todos piensan que las opciones de manejo de errores de PHP son solodemasiado en la medida en que confunde a los desarrolladores de php?