PEAR_ErrorStack::push

PEAR_ErrorStack::push() – Ajoute une erreur à la pile

Synopsis

require_once 'PEAR/ErrorStack.php';

PEAR_Error|array PEAR_ErrorStack::push ( integer $code , string $level = 'error' , array $params = array() , string $msg = = false , array $repackage = = false , array $backtrace = = false )

Alerte de compatibilité descendante

Depuis PEAR 1.3.2, PEAR_ErrorStack n'instancie et ne retourne plus une exception en PHP5. Le code s'appuyant sur ce comportement ne fonctionnera plus.

Description

Si le générateur de message existe, il sera appelé avec 2 paramètres.

  • l'objet représentant la pile d'erreurs courante

  • un tableau qui est du même format qu'une erreur. Les indices disponibles sont 'code', 'package', 'time', 'params', 'level', and 'context'

Ensuite, si l'erreur doit contenir les informations de contexte, ce sera géré par la méthode de contexte. Finallement, l'erreur sera ajoutée sur le pile d'erreurs correspondante.

Parameter

integer $code

Code erreur spécifique au paquet

string $level

Niveau d'erreur. Il ne sera pas traduit.

array $params

tableau associatif pour les paramètres de l'erreur

string $msg

Message d'erreur ou seulement une portion si le message est en cours de génération.

array $repackage

Si cette erreur rempaquète une erreur envoyée par un autre paquet, placez le tableau retourné par la fonction pop() dans ce paramètre.

array $backtrace

Paramètre protégé : utilisez ce paramètre pour passer la fonction http://www.php.net/manual-lookup.php?pattern=debug_backtrace qui devra être utilisé pour retrouver le contexte de l'erreur.

Return value

lançe, si le mode de compatibilité est actif, une PEAR_Error. Si l'exception existe, alors 1 sera retourné permettant le code suivant :

<?php
1      throw ($stack-><link linkend="core.pear.pear-errorstack.push">push</link>(MY_ERROR_CODE, 'error', array('username' => 'grob')));
?>

La propriété errorData de la classe de l'exception sera définit par le tableau qui devrait être retourné. Si un PEAR_Error est retourné, la propriété userinfo est définie par ce tableau.

Cependant, un tableau est retourné dans ce format :

<?php
array(
   'code' => $code,
   'params' => $params,
   'package' => $this->_package,
   'level' => $level,
   'time' => <ulink url="&url.php.lookup;time">time</ulink>(),
   'context' => $context,
   'message' => $msg,
//['repackage' => $err] tableau de l'erreur rempaquet&eacute;e
);
?>

Throws

No exceptions thrown.

Note

This function can not be called statically.