J'essaye de comprendre s'il y a une bonne ou une meilleure méthode pour manipuler des erreurs dans PHP que ce que je fais ci-dessous. Je voudrais lancer une exception s'il y a un problème avec l'appel parse_ini_file
. Cela fonctionne, mais y a-t-il une façon plus élégante de gérer les erreurs?Traitement des erreurs en tant qu'exceptions. Meilleures méthodes?
public static function loadConfig($file, $type)
{
if (!file_exists($file))
{
require_once 'Asra/Core/Exception.php';
throw new Asra_Core_Exception("{$type} file was not present at specified location: {$file}");
}
// -- clear the error
self::$__error = null;
// -- set the error handler function temporarily
set_error_handler(array('Asra_Core_Loader', '__loadConfigError'));
// -- do the parse
$parse = parse_ini_file($file, true);
// -- restore handler
restore_error_handler();
if (!is_array($parse) || is_null($parse) || !is_null(self::$__error))
{
require_once 'Asra/Core/Exception.php';
throw new Asra_Core_Exception("{$type} file at {$file} appears to be
}
}
La fonction __ loadConfigError
définit seulement la __error
à la chaîne d'erreur:
private static function __loadConfigError($errno, $errstr, $errfile, $errline)
{
self::$__error = $errstr;
}
Merci!