PHP Tratamento de erros: die () Vs trigger_error () Vs throw Exception

No que diz respeito ao tratamento de erros no PHP - Até onde eu sei, existem 3 estilos:

die()orexit() 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);
    }

gora, no manual do PHP todos os três métodos são usado

O que eu quero saber é qual estilo devo preferir e por quê?

Essas três substituições são substituídas uma pela outra e, portanto, podem ser usadas de forma intercambiáve

Lightly OT: sou eu ou todo mundo pensa que as opções de tratamento de erros do PHP são apenasmuito na medida em que confunde desenvolvedores de php?

questionAnswers(2)

yourAnswerToTheQuestion