PHP hata yönetimi hakkında - Bildiğim kadarıyla 3 stil var:

* `die()` veya `exit()` stili:
```php
$con = mysql_connect("localhost", "root", "password");
if (!$con) {
    die('Bağlanamadı: ' . mysql_error());
}
```

* `throw Exception` stili:
```php
if (!function_exists('curl_init')) {
    throw new Exception('CURL PHP uzantısına ihtiyaç var. PHP'yi curl ile yeniden derleyin');
}
```

* `trigger_error()` stili:
```php
if (!is_array($config) && isset($config)) {
    trigger_error('Hata: config bir dizi değil veya ayarlanmadı', E_USER_ERROR);
}
```

Şimdi, PHP kılavuzunda bu üç yöntem de kullanılıyor. Hangi stili tercih etmeli ve neden? Bu üçü birbirinin yerine kullanılabilir mi ve bu nedenle birbirinin yerine kullanılabilir mi? Sadece ben mi düşünüyorum, yoksa PHP hata yönetimi seçenekleri tüm PHP geliştiricilerini karıştıracak kadar çok mu?