<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.errorfunc.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.set-error-handler.php',
    1 => 'set_error_handler',
    2 => 'Sp&eacute;cifie une fonction utilisateur comme gestionnaire d\'erreurs',
  ),
  'up' => 
  array (
    0 => 'ref.errorfunc.php',
    1 => 'Fonctions sur la gestion des erreurs',
  ),
  'prev' => 
  array (
    0 => 'function.restore-exception-handler.php',
    1 => 'restore_exception_handler',
  ),
  'next' => 
  array (
    0 => 'function.set-exception-handler.php',
    1 => 'set_exception_handler',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/errorfunc/functions/set-error-handler.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.set-error-handler" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">set_error_handler</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.1, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">set_error_handler</span> &mdash; <span class="dc-title">Spécifie une fonction utilisateur comme gestionnaire d&#039;erreurs</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.set-error-handler-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>set_error_handler</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span></span> <code class="parameter">$callback</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$error_levels</code><span class="initializer"> = <strong><code><a href="errorfunc.constants.php#constant.e-all">E_ALL</a></code></strong></span></span>): <span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>set_error_handler()</strong></span> choisit la fonction utilisateur
   <code class="parameter">callback</code> pour gérer les erreurs dans un script.
  </p>
  <p class="para">
   Cette fonction peut être utilisée pour définir des gestionnaires d&#039;erreurs personnalisés pendant l&#039;exécution,
   par exemple dans des applications qui ont besoin de nettoyer des fichiers/données lorsqu&#039;une erreur critique
   se produit ou lorsqu&#039;une erreur est déclenchée en réponse à certaines conditions
   (à l&#039;aide de la fonction <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span>).
  </p>
  <p class="para">
   Il faut se rappeler que la fonction standard de traitement des erreurs
   de PHP est alors complètement ignorée pour les erreurs de types
   spécifiés par <code class="parameter">error_levels</code> à moins que la fonction
   de rappel retourne <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
   Les paramètres de la fonction <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> n&#039;auront aucun effet
   et le gestionnaire d&#039;erreurs sera appelé quoi qu&#039;il arrive. Cependant, il est toujours possible
   de lire la valeur actuelle de
   <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> et
   de faire réagir la fonction de gestion des erreurs en conséquence.
  </p>

  <p class="para">
   Il est à noter que c&#039;est la responsabilité du gestionnaire d&#039;erreurs d&#039;arrêter
   l&#039;exécution du script si nécessaire en appelant la fonction <span class="function"><a href="function.exit.php" class="function">exit()</a></span>. Si la fonction du gestionnaire d&#039;erreurs retourne,
   l&#039;exécution du script se poursuivra avec l&#039;instruction suivante après celle qui a causé l&#039;erreur.
  </p>
  <p class="para">
   Les types d&#039;erreur suivants ne peuvent pas être gérés avec cette fonction : 
   <strong><code><a href="errorfunc.constants.php#constant.e-error">E_ERROR</a></code></strong>, <strong><code><a href="errorfunc.constants.php#constant.e-parse">E_PARSE</a></code></strong>,
   <strong><code><a href="errorfunc.constants.php#constant.e-core-error">E_CORE_ERROR</a></code></strong>, <strong><code><a href="errorfunc.constants.php#constant.e-core-warning">E_CORE_WARNING</a></code></strong>,
   <strong><code><a href="errorfunc.constants.php#constant.e-compile-error">E_COMPILE_ERROR</a></code></strong>,
   <strong><code><a href="errorfunc.constants.php#constant.e-compile-warning">E_COMPILE_WARNING</a></code></strong> indépendamment d&#039;où elles sont levées,
   ainsi que la plupart des
   <strong><code><a href="errorfunc.constants.php#constant.e-strict">E_STRICT</a></code></strong> du fichier dans lequel 
   <span class="function"><strong>set_error_handler()</strong></span> est appelé.
  </p>
  <p class="para">
   Si une erreur survient avant que le script ne soit exécuté (par exemple
   un téléchargement de fichier), le gestionnaire d&#039;erreurs personnalisé ne pourra
   pas être appelé, car il n&#039;est pas encore enregistré.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.set-error-handler-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">callback</code></dt>
     <dd>
      <p class="para">
       Si <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> est fournie le gestionnaire est réinitialisé à son statut par défaut.
       Sinon, le gestionnaire est une fonction de rappel avec la signature suivante :
      </p>
      <p class="para">
       <div class="methodsynopsis dc-description">
        <span class="methodname"><span class="replaceable">handler</span></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$errno</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$errstr</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$errfile</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$errline</code><span class="initializer"> = ?</span></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$errcontext</code><span class="initializer"> = ?</span></span><br>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

       <dl>
        
         <dt><code class="parameter">errno</code></dt>
         <dd>
          <span class="simpara">
           Le premier paramètre <code class="parameter">errno</code>, sera passé le
           niveau d&#039;erreur, sous la forme d&#039;un entier.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errstr</code></dt>
         <dd>
          <span class="simpara">
           Le second paramètre <code class="parameter">errstr</code>, sera passé le
           message d&#039;erreur, sous forme de chaîne.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errfile</code></dt>
         <dd>
          <span class="simpara">
           Si la fonction de rappel accepte un troisième paramètre, <code class="parameter">errfile</code>,
           il sera passé le nom du fichier dans lequel l&#039;erreur a été identifiée, sous forme de chaîne.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errline</code></dt>
         <dd>
          <span class="simpara">
           Si la fonction de rappel accepte un quatrième paramètre, <code class="parameter">errline</code>,
           il sera passé le numéro de ligne à laquelle l&#039;erreur a été identifiée, sous la forme d&#039;un entier.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errcontext</code></dt>
         <dd>
          <span class="simpara">
           Si la fonction de rappel accepte un cinquième paramètre, <code class="parameter">errcontext</code>,
           il sera passé comme un tableau qui pointe sur la table des symboles actifs à
           l&#039;instant où l&#039;erreur est survenue. En d&#039;autres termes, <code class="parameter">errcontext</code>
           contient un tableau avec toutes les variables qui existaient lorsque
           l&#039;erreur a été déclenchée.
           Les gestionnaires d&#039;erreurs utilisateur ne doivent pas modifier le contexte d&#039;erreur.
          </span>
          <div class="warning"><strong class="warning">Avertissement</strong>
           <p class="simpara">
            Ce paramètre est <em>OBSOLÈTE</em> à partir de PHP 7.2.0,
            et <em>SUPPRIMÉ</em> à partir de PHP 8.0.0. Si la
            fonction définit ce paramètre sans valeur par défaut, une erreur de
            &quot;too few arguments&quot; sera levée lors de son appel.
           </p>
          </div>
         </dd>
        
       </dl>
      </p>
      <p class="para">
       Si la fonction retourne <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, alors le gestionnaire d&#039;erreurs normal continue.
      </p>
     </dd>
    
    
     <dt><code class="parameter">error_levels</code></dt>
     <dd>
      <p class="para">
       Sert de masque pour appeler la fonction 
       <code class="parameter">callback</code> de la même façon que l&#039;option de
       configuration <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a>
       contrôle les erreurs qui sont affichées. Sans le masque,
       <code class="parameter">callback</code> sera appelé pour toutes les erreurs,
       quelle que soit la valeur de
       <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.set-error-handler-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne le dernier gestionnaire d&#039;erreurs (s&#039;il existe) sous forme de <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span>.  
   Si le gestionnaire d’erreurs interne est utilisé, <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> est retourné.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.set-error-handler-changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        <code class="parameter">errcontext</code> a été supprimé, et ne sera plus passé aux fermetures utilisateur.
       </td>
      </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        <code class="parameter">errcontext</code> est devenu obsolète.
        L&#039;usage de ce paramètre émet une notice <strong><code><a href="errorfunc.constants.php#constant.e-deprecated">E_DEPRECATED</a></code></strong>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.set-error-handler-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Gestionnaire d&#039;erreurs avec <span class="function"><strong>set_error_handler()</strong></span> et 
     <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span></strong></p>
    <div class="example-contents"><p>
     L&#039;exemple ci-dessous illustre l&#039;interception d&#039;erreurs internes avec
     génération d&#039;erreur et son exploitation dans une fonction utilisateur :
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Gestionnaire d'erreurs<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">myErrorHandler</span><span style="color: #007700">(</span><span style="color: #0000BB">$errno</span><span style="color: #007700">, </span><span style="color: #0000BB">$errstr</span><span style="color: #007700">, </span><span style="color: #0000BB">$errfile</span><span style="color: #007700">, </span><span style="color: #0000BB">$errline</span><span style="color: #007700">)<br />{<br />   if (!(</span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">() &amp; </span><span style="color: #0000BB">$errno</span><span style="color: #007700">)) {<br />        </span><span style="color: #FF8000">// Ce code d'erreur n'est pas inclus dans error_reporting(), donc il continue<br />        // jusqu'au gestionnaire d'erreur standard de PHP<br />        </span><span style="color: #007700">return </span><span style="color: #0000BB">false</span><span style="color: #007700">;<br />    }<br /><br />    </span><span style="color: #FF8000">// $errstr doit peut-être être échappé :<br />    </span><span style="color: #0000BB">$errstr </span><span style="color: #007700">= </span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$errstr</span><span style="color: #007700">);<br /><br />    switch (</span><span style="color: #0000BB">$errno</span><span style="color: #007700">) {<br />    case </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"&lt;b&gt;Mon ERREUR&lt;/b&gt; [</span><span style="color: #0000BB">$errno</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$errstr</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">"  Erreur fatale sur la ligne </span><span style="color: #0000BB">$errline</span><span style="color: #DD0000"> dans le fichier </span><span style="color: #0000BB">$errfile</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">", PHP " </span><span style="color: #007700">. </span><span style="color: #0000BB">PHP_VERSION </span><span style="color: #007700">. </span><span style="color: #DD0000">" (" </span><span style="color: #007700">. </span><span style="color: #0000BB">PHP_OS </span><span style="color: #007700">. </span><span style="color: #DD0000">")&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">"Arrêt...&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        exit(</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br />    case </span><span style="color: #0000BB">E_USER_WARNING</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"&lt;b&gt;Mon ALERTE&lt;/b&gt; [</span><span style="color: #0000BB">$errno</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$errstr</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<br /><br />    case </span><span style="color: #0000BB">E_USER_NOTICE</span><span style="color: #007700">:<br />        echo </span><span style="color: #DD0000">"&lt;b&gt;Mon AVERTISSEMENT&lt;/b&gt; [</span><span style="color: #0000BB">$errno</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$errstr</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<br /><br />    default:<br />        echo </span><span style="color: #DD0000">"Type d'erreur inconnu : [</span><span style="color: #0000BB">$errno</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$errstr</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<br />    }<br /><br />    </span><span style="color: #FF8000">/* Ne pas exécuter le gestionnaire interne de PHP */<br />    </span><span style="color: #007700">return </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Fonction pour tester la gestion d'erreur<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">scale_by_log</span><span style="color: #007700">(</span><span style="color: #0000BB">$vect</span><span style="color: #007700">, </span><span style="color: #0000BB">$scale</span><span style="color: #007700">)<br />{<br />    if (!</span><span style="color: #0000BB">is_numeric</span><span style="color: #007700">(</span><span style="color: #0000BB">$scale</span><span style="color: #007700">) || </span><span style="color: #0000BB">$scale </span><span style="color: #007700">&lt;= </span><span style="color: #0000BB">0</span><span style="color: #007700">) {<br />        </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"log(x) pour x &lt;= 0 est indéfini, vous utiliser : scale = </span><span style="color: #0000BB">$scale</span><span style="color: #DD0000">"</span><span style="color: #007700">, </span><span style="color: #0000BB">E_USER_ERROR</span><span style="color: #007700">);<br />    }<br /><br />    if (!</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$vect</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"Type d'entrée incorrect, tableau de valeurs attendu"</span><span style="color: #007700">, </span><span style="color: #0000BB">E_USER_WARNING</span><span style="color: #007700">);<br />        return </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br />    }<br /><br />    </span><span style="color: #0000BB">$temp </span><span style="color: #007700">= array();<br />    foreach(</span><span style="color: #0000BB">$vect </span><span style="color: #007700">as </span><span style="color: #0000BB">$pos </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$value</span><span style="color: #007700">) {<br />        if (!</span><span style="color: #0000BB">is_numeric</span><span style="color: #007700">(</span><span style="color: #0000BB">$value</span><span style="color: #007700">)) {<br />            </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"La valeur à la position </span><span style="color: #0000BB">$pos</span><span style="color: #DD0000"> n'est pas un nombre, utilisation 0 (zéro)"</span><span style="color: #007700">, </span><span style="color: #0000BB">E_USER_NOTICE</span><span style="color: #007700">);<br />            </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />        }<br />        </span><span style="color: #0000BB">$temp</span><span style="color: #007700">[</span><span style="color: #0000BB">$pos</span><span style="color: #007700">] = </span><span style="color: #0000BB">log</span><span style="color: #007700">(</span><span style="color: #0000BB">$scale</span><span style="color: #007700">) * </span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br />    }<br />    return </span><span style="color: #0000BB">$temp</span><span style="color: #007700">;<br />  }<br /><br /></span><span style="color: #FF8000">// Configuration du gestionnaire d'erreurs<br /></span><span style="color: #0000BB">$old_error_handler </span><span style="color: #007700">= </span><span style="color: #0000BB">set_error_handler</span><span style="color: #007700">(</span><span style="color: #DD0000">"myErrorHandler"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Génération de quelques erreurs. Commençons par créer un tableau<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"vector a\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= array(</span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">, </span><span style="color: #0000BB">5.5</span><span style="color: #007700">, </span><span style="color: #0000BB">43.3</span><span style="color: #007700">, </span><span style="color: #0000BB">21.11</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Générons maintenant un second tableau<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nvector b - a notice (b = log(PI) * a)\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Valeur à la position $pos n'est pas un nombre, utilisation de 0 (zéro) */<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #0000BB">scale_by_log</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">M_PI</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$b</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Ceci est un problème, nous avons utilisé une chaîne au lieu d'un tableau<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nvector c - a warning\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Type d'entrée incorrect, tableau de valeurs attendu */<br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= </span><span style="color: #0000BB">scale_by_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"non un tableau"</span><span style="color: #007700">, </span><span style="color: #0000BB">2.3</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$c</span><span style="color: #007700">); </span><span style="color: #FF8000">// NULL<br /><br />// Ceci est une erreur critique : le logarithme de zéro ou d'un nombre négatif est indéfini<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nvector d - fatal error\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* log(x) pour x &lt;= 0 est indéfini, vous utiliser : scale = $scale" */<br /></span><span style="color: #0000BB">$d </span><span style="color: #007700">= </span><span style="color: #0000BB">scale_by_log</span><span style="color: #007700">(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, -</span><span style="color: #0000BB">2.5</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$d</span><span style="color: #007700">); </span><span style="color: #FF8000">// Jamais atteint<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">vector a
Array
(
    [0] =&gt; 2
    [1] =&gt; 3
    [2] =&gt; foo
    [3] =&gt; 5.5
    [4] =&gt; 43.3
    [5] =&gt; 21.11
)
----
vector b - a notice (b = log(PI) * a)
&lt;b&gt;Mon AVERTISSEMENT&lt;/b&gt; [1024] La valeur à la position 2 n&#039;est pas un nombre, utilisation de 0 (zéro)&lt;br /&gt;
Array
(
    [0] =&gt; 2.2894597716988
    [1] =&gt; 3.4341896575482
    [2] =&gt; 0
    [3] =&gt; 6.2960143721717
    [4] =&gt; 49.566804057279
    [5] =&gt; 24.165247890281
)
----
vector c - a warning
&lt;b&gt;Mon ALERTE&lt;/b&gt; [512] Type d&#039;entrée incorrect, tableau de valeurs attendu&lt;br /&gt;
NULL
----
vector d - fatal error
&lt;b&gt;Mon ERREUR&lt;/b&gt; [256] log(x) pour x &lt;= 0 est indéfini, vous utiliser : scale = -2.5&lt;br /&gt;
  Erreur fatale sur la ligne 36 dans le fichier trigger_error.php, PHP 5.2.1 (Linux)&lt;br /&gt;
Arrêt...&lt;br /&gt;</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.set-error-handler-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="classname"><a href="class.errorexception.php" class="classname">ErrorException</a></span></li>
    <li><span class="function"><a href="function.error-reporting.php" class="function" rel="rdfs-seeAlso">error_reporting()</a> - Fixe le niveau de rapport d'erreurs PHP</span></li>
    <li><span class="function"><a href="function.restore-error-handler.php" class="function" rel="rdfs-seeAlso">restore_error_handler()</a> - R&eacute;active l'ancienne fonction de gestion des erreurs</span></li>
    <li><span class="function"><a href="function.get-error-handler.php" class="function" rel="rdfs-seeAlso">get_error_handler()</a> - Renvoie la fonction de gestion d'erreur d&eacute;finie par l'utilisateur</span></li>
    <li><span class="function"><a href="function.trigger-error.php" class="function" rel="rdfs-seeAlso">trigger_error()</a> - D&eacute;clenche une erreur utilisateur</span></li>
    <li><a href="errorfunc.constants.php" class="link">Constantes de niveau d&#039;erreur</a></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>