<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.set-error-handler.php',
    1 => 'set_error_handler',
    2 => 'Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung',
  ),
  'up' => 
  array (
    0 => 'ref.errorfunc.php',
    1 => 'Fehlerbehandlungsfunktionen',
  ),
  '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' => 'de',
    '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">Bestimmt eine benutzerdefinierte Funktion zur Fehlerbehandlung</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.set-error-handler-description">
  <h3 class="title">Beschreibung</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">
   Setzt eine benutzerdefinierte Funktion (<code class="parameter">callback</code>),
   um Fehler in einem Skript zu behandeln.
  </p>
  <p class="para">
   Mit dieser Funktion können während der Laufzeit benutzerdefinierte
   Fehlerbehandlungen erstellt werden, beispielsweise in Anwendungen, die bei
   einem kritischen Fehler die Löschung von Daten bzw. Dateien erfordert, oder
   wenn es nötig ist, unter bestimmten Bedingungen (mit der Funktion
   <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span>) eine Fehlermeldung zu generieren.
  </p>
  <p class="para">
   Es ist unbedingt zu beachten, dass auf diese Weise die standardmäßige
   PHP-Fehlerbehandlung für die durch <code class="parameter">error_levels</code>
   angegebenen Fehlertypen vollkommen umgangen wird, außer wenn die
   Callback-Funktion <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückgibt. Die Einstellungen der Funktion
   <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> haben keine
   Auswirkung und die Fehlerbehandlungsroutine wird ohne Rücksicht darauf
   aufgerufen, es ist jedoch immer noch möglich, den aktuellen Wert von
   <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> zu lesen und
   entsprechend zu handeln.
  </p>
  <p class="para">
   Es ist auch zu beachten, dass die Fehlerbehandlung dafür zuständig ist, bei
   Bedarf <span class="function"><a href="function.exit.php" class="function">exit()</a></span> aufzurufen, um die Ausführung des Skripts
   zu beenden. Nach der Funktion für die Fehlerbehandlung wird die Ausführung
   des Skripts bei der Anweisung fortgesetzt, die auf die Fehler verursachende
   Anweisung folgt.
  </p>
  <p class="para">
   Die folgenden Fehlertypen können nicht von einer benutzerdefinierten
   Funktion behandelt werden: <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>
   und <strong><code><a href="errorfunc.constants.php#constant.e-compile-warning">E_COMPILE_WARNING</a></code></strong> unabhängig davon, wo sie
   ausgelöst wurden, und die meisten <strong><code><a href="errorfunc.constants.php#constant.e-strict">E_STRICT</a></code></strong>, die in der
   Datei ausgelöst werden, in der <span class="function"><strong>set_error_handler()</strong></span>
   aufgerufen wird.
  </p>
  <p class="para">
   Falls Fehler auftreten, bevor das Skript ausgeführt wird (z. B. beim
   Hochladen von Dateien), kann eine benutzerdefinierte Fehlerbehandlung nicht
   aufgerufen werden, weil sie zu diesem Zeitpunkt noch nicht registriert ist.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.set-error-handler-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">callback</code></dt>
     <dd>
      <p class="para">
       Falls <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> übergeben wird, wird der Handler auf seinen Standardwert
       zurückgesetzt. Andernfalls ist der Handler ein Callback mit der
       folgenden Signatur:
      </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">
           Dem erstem Parameter, <code class="parameter">errno</code>, wird der
           Schweregrad des ausgelösten Fehlers als Integer übergeben.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errstr</code></dt>
         <dd>
          <span class="simpara">
           Dem zweiten Parameter, <code class="parameter">errstr</code>, wird die
           Fehlermeldung als String übergeben.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errfile</code></dt>
         <dd>
          <span class="simpara">
           Wenn der Callback einen dritten Parameter akzeptiert, nämlich
           <code class="parameter">errfile</code>, wird der Dateiname, in dem der
           Fehler aufgetreten ist, als String übergeben.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errline</code></dt>
         <dd>
          <span class="simpara">
           Wenn der Callback einen vierten Parameter akzeptiert, nämlich
           <code class="parameter">errline</code>, wird die Zeilennummer, in der der
           Fehler aufgetreten ist, als Integer übergeben.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errcontext</code></dt>
         <dd>
          <span class="simpara">
           Wenn der Callback einen fünften Parameter akzeptiert, nämlich
           <code class="parameter">errcontext</code>, wird ihm ein Array übergeben,
           das auf die aktive Symboltabelle zu dem Punkt zeigt, an dem der
           Fehler auftrat. Mit anderen Worten:
           <code class="parameter">errcontext</code> enthält ein Array mit allen
           Variablen, die im fehlerauslösenden Bereich existierten.
           Benutzerdefinierte Fehlerbehandlungen dürfen den Fehlerkontext
           nicht verändern.
          </span>
          <div class="warning"><strong class="warning">Warnung</strong>
           <p class="simpara">
            Dieser Parameter ist von PHP 7.2.0 an
            <em>MISSBILLIGT</em> und wurde in PHP 8.0.0
            <em>ENTFERNT</em>. Wenn die Funktion diesen Parameter
            ohne Vorgabe definiert, wird beim Aufruf der Funktion der Fehler
            &quot;too few arguments&quot; (zu wenig Parameter) ausgelöst.
           </p>
          </div>
         </dd>
        
       </dl>
      </p>
      <p class="para">
       Falls diese Funktion <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückgibt, wird mit der normalen
       Fehlerbehandlung fortgesetzt.
      </p>
     </dd>
    
    
     <dt><code class="parameter">error_levels</code></dt>
     <dd>
      <p class="para">
       Kann wie die php.ini-Konfigurationseinstellung
       <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a>, die
       bestimmt, welche Fehler angezeigt werden, zum Maskieren des Aufrufs der
       <code class="parameter">callback</code>-Funktion verwendet werden. Wird diese
       Maske nicht gesetzt, wird der <code class="parameter">callback</code>
       unabhängig von der Einstellung
       <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> bei jedem
       Fehler aufgerufen.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.set-error-handler-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die zuvor definierte Fehlerbehandlungsroutine (falls eine definiert
   wurde) als <span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> zurück.
   Wenn der eingebaute Errorhandler verwendet wurde, wird <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> zurückgegeben.
  </p>
 </div>


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

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        Der Parameter <code class="parameter">errcontext</code> wurde entfernt und
        wird nicht mehr an Benutzer-Callbacks übergeben.
       </td>
      </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        <code class="parameter">errcontext</code> wurde missbilligt. Die Verwendung
        dieses Parameters erzeugt nun einen
        <strong><code><a href="errorfunc.constants.php#constant.e-deprecated">E_DEPRECATED</a></code></strong>-Hinweis.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.set-error-handler-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Fehlerbehandlung mit <span class="function"><strong>set_error_handler()</strong></span> und
     <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span></strong></p>
    <div class="example-contents"><p>
     Das untenstehende Beispiel zeigt die Behandlung von internen Ausnahmen,
     indem Fehler ausgelöst und durch eine benutzerdefinierte Funktion
     behandelt werden:
    </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">// Fehlerbehandlungsfunktion<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">myErrorHandler</span><span style="color: #007700">(</span><span style="color: #0000BB">$fehlercode</span><span style="color: #007700">, </span><span style="color: #0000BB">$fehlertext</span><span style="color: #007700">, </span><span style="color: #0000BB">$fehlerdatei</span><span style="color: #007700">, </span><span style="color: #0000BB">$fehlerzeile</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">$fehlercode</span><span style="color: #007700">)) {<br />        </span><span style="color: #FF8000">// Dieser Fehlercode ist nicht in error_reporting enthalten<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">// $fehlertext muss möglicherweise maskiert werden:<br />    </span><span style="color: #0000BB">$fehlertext </span><span style="color: #007700">= </span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$fehlertext</span><span style="color: #007700">);<br /><br />    switch (</span><span style="color: #0000BB">$fehlercode</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;Mein FEHLER&lt;/b&gt; [</span><span style="color: #0000BB">$fehlercode</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$fehlertext</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">"  Fataler Fehler in Zeile </span><span style="color: #0000BB">$fehlerzeile</span><span style="color: #DD0000"> in der Datei </span><span style="color: #0000BB">$fehlerdatei</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">"Abbruch...&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<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;Meine WARNUNG&lt;/b&gt; [</span><span style="color: #0000BB">$fehlercode</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$fehlertext</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;Mein HINWEIS&lt;/b&gt; [</span><span style="color: #0000BB">$fehlercode</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$fehlertext</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">"Unbekannter Fehlertyp: [</span><span style="color: #0000BB">$fehlercode</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$fehlertext</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<br />    }<br /><br />    </span><span style="color: #FF8000">/* Damit die PHP-interne Fehlerbehandlung nicht ausgeführt wird */<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">// Funktion zum Test der Fehlerbehandlung<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">logarithmisch_skalieren</span><span style="color: #007700">(</span><span style="color: #0000BB">$vektor</span><span style="color: #007700">, </span><span style="color: #0000BB">$skalierung</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">$skalierung</span><span style="color: #007700">) || </span><span style="color: #0000BB">$skalierung </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) ist für x &lt;= 0 nicht definiert, Sie verwendeten: skalierung = </span><span style="color: #0000BB">$skalierung</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">$vektor</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet"</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">$vektor </span><span style="color: #007700">as </span><span style="color: #0000BB">$pos </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">$wert</span><span style="color: #007700">) {<br />        if (!</span><span style="color: #0000BB">is_numeric</span><span style="color: #007700">(</span><span style="color: #0000BB">$wert</span><span style="color: #007700">)) {<br />            </span><span style="color: #0000BB">trigger_error</span><span style="color: #007700">(</span><span style="color: #DD0000">"Der Wert an Position </span><span style="color: #0000BB">$pos</span><span style="color: #DD0000"> ist keine Zahl, verwende 0 (Null)"</span><span style="color: #007700">, </span><span style="color: #0000BB">E_USER_NOTICE</span><span style="color: #007700">);<br />            </span><span style="color: #0000BB">$wert </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">$skalierung</span><span style="color: #007700">) * </span><span style="color: #0000BB">$wert</span><span style="color: #007700">;<br />    }<br /><br />    return </span><span style="color: #0000BB">$temp</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// auf die benutzerdefinierte Fehlerbehandlung umstellen<br /></span><span style="color: #0000BB">$alter_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">// ein paar Fehler auslösen, zuerst wird ein gemischtes Array mit einem<br />// nichtnumerischen Eintrag definiert<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"Vektor 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">// ein zweites Array erzeugen<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nVektor b - ein Hinweis (b = log(PI) * a)\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Der Wert an Position $pos ist keine Zahl, verwende 0 (Null) */<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= </span><span style="color: #0000BB">logarithmisch_skalieren</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">// das gibt Ärger: statt eines Arrays wird eine Zeichenkette übergeben<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nVektor c - eine Warnung\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet */<br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= </span><span style="color: #0000BB">logarithmisch_skalieren</span><span style="color: #007700">(</span><span style="color: #DD0000">"kein Array"</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 />// dies ist ein kritischer Fehler: log ist für Null oder negative Werte<br />// nicht definiert<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nVektor d - fataler Fehler\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* log(x) ist für x &lt;= 0 nicht definiert, Sie verwendeten: skalierung = $skalierung */<br /></span><span style="color: #0000BB">$d </span><span style="color: #007700">= </span><span style="color: #0000BB">logarithmisch_skalieren</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">// wird nie erreicht<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Vektor a
Array
(
    [0] =&gt; 2
    [1] =&gt; 3
    [2] =&gt; foo
    [3] =&gt; 5.5
    [4] =&gt; 43.3
    [5] =&gt; 21.11
)
----
Vektor b - ein Hinweis (b = log(PI) * a)
&lt;b&gt;Mein HINWEIS&lt;/b&gt; [1024] Der Wert an Position 2 ist keine Zahl, verwende 0 (Null)&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
)
----
Vektor c - eine Warnung
&lt;b&gt;Meine WARNUNG&lt;/b&gt; [512] Fehlerhafter Eingabevektor, es wird ein Wertearray erwartet&lt;br /&gt;
NULL
----
Vektor d - fataler Fehler
&lt;b&gt;Mein FEHLER&lt;/b&gt; [256] log(x) ist für x &lt;= 0 nicht definiert, Sie verwendeten: skalierung = -2.5&lt;br /&gt;
  Fataler Fehler in Zeile 35 in der Datei trigger_error.php, PHP 5.2.1 (FreeBSD)&lt;br /&gt;
Abbruch...&lt;br /&gt;</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.set-error-handler-seealso">
  <h3 class="title">Siehe auch</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> - Gibt an, welche PHP-Fehlermeldungen gemeldet werden</span></li>
    <li><span class="function"><a href="function.restore-error-handler.php" class="function" rel="rdfs-seeAlso">restore_error_handler()</a> - Stellt die zuvor benutzte Fehlerbehandlungsfunktion wieder her</span></li>
    <li><span class="function"><a href="function.get-error-handler.php" class="function" rel="rdfs-seeAlso">get_error_handler()</a> - Gets the user-defined error handler function</span></li>
    <li><span class="function"><a href="function.trigger-error.php" class="function" rel="rdfs-seeAlso">trigger_error()</a> - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung</span></li>
    <li><a href="errorfunc.constants.php" class="link">Errorlevel-Konstanten</a></li>
   </ul>
  </p>
 </div>


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