<?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 => 'tr',
  ),
  'this' => 
  array (
    0 => 'function.set-error-handler.php',
    1 => 'set_error_handler',
    2 => 'Kullanıcı tanımlı bir hata işleyici bildirir',
  ),
  'up' => 
  array (
    0 => 'ref.errorfunc.php',
    1 => 'Hata İşleme İşlevleri',
  ),
  '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' => 'tr',
    '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">Kullanıcı tanımlı bir hata işleyici bildirir</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.set-error-handler-description">
  <h3 class="title">Açıklama</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">$hata_işleyici</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$hata_seviyeleri</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">
   Betikteki hatalarda devreye girmek üzere kullanıcı tanımlı bir işlev
   (<code class="parameter">hata_işleyici</code>) bildirir.
  </p>
  <p class="para">
   Bu işlev çalışma anında özel bir hata işleyici oluşturmakta kullanılabilir.
   Örneğin, veriler veya dosyalar temizlenirken işlemlerin durmasına yol
   açacak bir hata oluştuğunda veya belli durumlar için
   (<span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span> ile) bir hatayı tetiklemek gerektiğinde
   PHP tarafından çağrılacak bir işlev tanımlayıp, bu işlevin ismi
   <span class="function"><strong>set_error_handler()</strong></span> ile PHP&#039;ye bildirilebilir.
  </p>
  <p class="para">
   Bu işlevin çağrılmasıyla PHP&#039;nin standart hata işleyicisi
   <code class="parameter">hata_seviyeleri</code> ile belirtilen hata türleri için,
   geri çağırım işlevi <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürmedikçe tamamen devre dışı kalacaktır.
   <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> ayarları etkisiz
   olacak ve her durumda belirtilen hata işleyisi çağrılacaktır. Ancak,
   <a href="errorfunc.configuration.php#ini.error-reporting" class="link">error_reporting</a> yönergesindeki
   değer hala okubabilir ve buna göre davranılabilir.
  </p>
  <p class="para">
   Ayrıca, gerektiği takdirde <span class="function"><a href="function.exit.php" class="function">exit()</a></span> işlevini çağırarak
   betiğin çalışmasını durdurmak da işleyicinin sorumluluğundadır.
   <code class="parameter">hata_işleyici</code> işlevi döndükten sonra betiğin
   çalışması, hataya sebep olan deyimden sonraki deyimden devam edecektir.
  </p>
  <p class="para">
   Kullanıcı tanımlı bir işlev ile üzerinde herhangi bir işlem yapılamayacak
   hatalar vardır, bunlar: <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>,
   üretidiği yerden bağımsız <strong><code><a href="errorfunc.constants.php#constant.e-compile-warning">E_COMPILE_WARNING</a></code></strong> ve
   <span class="function"><strong>set_error_handler()</strong></span> işlevinin çağrıldığı dosyada oluşan
   <strong><code><a href="errorfunc.constants.php#constant.e-strict">E_STRICT</a></code></strong> hatalarının çoğu.
  </p>
  <p class="para">
   Eğer betik çalıştırılmadan önce oluşan hatalar varsa (karşıya dosya yükleme
   sırasında oluşan hatalar gibi), bu gibi durumlar için bildirilen
   <code class="parameter">hata_işleyici</code> işlevi çağrılamayacaktır.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.set-error-handler-parameters">
  <h3 class="title">Bağımsız Değişkenler</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">hata_işleyici</code></dt>
     <dd>
      <p class="para">
       İşleve <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> aktarılırsa işleyici öntanımlı durumuna sıfırlanır.
       Aksi takdirde, aşağıdaki geri çağırım işlevi tanımıyla bir işleyici
       aktarılmalıdır:
      </p>
      <p class="para">
       <div class="methodsynopsis dc-description">
        <span class="methodname"><span class="replaceable">hata_işleyici</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">
           Oluşan hatanın seviyesinin bir tamsayı olarak aktarılacağı
           bağımsız değişken. İlk bağımsız değişken olmalıdır.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errstr</code></dt>
         <dd>
          <span class="simpara">
           Hata iletisinin bir dizge olarak aktarılacağı bağımsız değişken.
           İkinci bağımsız değişken olmalıdır.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errfile</code></dt>
         <dd>
          <span class="simpara">
           <code class="parameter">hata_işleyici</code> 3 bağımsız değişken kabul
           ediyorsa, hatanın oluştuğu betik dosyasının ismini bir dizge olarak
           içerecek, belirtilmesi isteğe bağlı üçüncü bağımsız değişken.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errline</code></dt>
         <dd>
          <span class="simpara">
           <code class="parameter">hata_işleyici</code> 4 bağımsız değişken kabul
           ediyorsa, hatanın oluştuğu deyimin satır numarasını bir tamsayı
           olarak içerecek, belirtilmesi isteğe bağlı dördüncü bağımsız
           değişken.
          </span>
         </dd>
        
        
         <dt><code class="parameter">errcontext</code></dt>
         <dd>
          <span class="simpara">
           <code class="parameter">hata_işleyici</code> 5 bağımsız değişken kabul
           ediyorsa, hatanın oluştuğu noktada etkin simge tablosuna işaret eden
           bir diziyi kabul edecek, belirtilmesi isteğe bağlı beşinci bağımsız
           değişken. Bu bağımsız değişken, başka bir deyişle, hatanın
           tetiklendiği etki alanında etkin değişkenleri içeren bir dizidir.
           <code class="parameter">hata_işleyici</code> bu değişkenlerde bir değişiklik
           yapmamalıdır.
          </span>
          <div class="warning"><strong class="warning">Uyarı</strong>
           <p class="simpara">
            Bu bağımsız değişken PHP 7.2.0 ve sonrasında
            <em>kullanımdan</em> kaldırılmıştır. PHP 8.0.0&#039;da
            <em>tamanen</em> kaldırılmıştır. Eğer işlev bu
            bağımsız değişkeni bir öntanımlı değer olmaksızın tanımlıyorsa,
            işlev çağrıldığı takdirde, &quot;too few arguments&quot; (çok az bağımsız
            değişken) hatası oluşur.
           </p>
          </div>
         </dd>
        
       </dl>
      </p>
      <p class="para">
       İşlev <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> döndürdüğü takdirde normal hata işleyici kaldığı yerden
       devam eder.
      </p>
     </dd>
    
    
     <dt><code class="parameter">hata_seviyeleri</code></dt>
     <dd>
      <p class="para">
       <code class="parameter">hata_işleyici</code> işlevini tetikleyecek hatalar
       sabitleriyle, <a href="errorfunc.configuration.php#ini.error-reporting" class="link">
       error_reporting</a> yönergesine gösterilecek hataların değerleri
       belirtilirken yapıldığı gibi bir bit maskesi olarak belirtilebilir. Bu
       maskenin belirtilmediği durumda, <a href="errorfunc.configuration.php#ini.error-reporting" class="link">
       error_reporting</a> yönergesinde belirtilen değere bakılmaksızın her
       hatada <code class="parameter">hata_işleyici</code> işlevi çağrılacaktır.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.set-error-handler-returnvalues">
  <h3 class="title">Dönen Değerler</h3>
  <p class="para">
   (Varsa) Evvelce tanımlanmış hata işleyicinin ismini dizge olarak
   döndürür. Eğer yerleşik bir hata işleyici kullanılmışsa <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> döner.
   Eğer evvelki hata işleyici bir sınıfın yöntemi ise bu sınıfın ve yöntemin
   isimlerini içeren bir dizi döner.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.set-error-handler-changelog">
  <h3 class="title">Sürüm Bilgisi</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Sürüm: </th>
       <th>Açıklama</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        <code class="parameter">errcontext</code> kaldırıldı ve artık kullanıcının
        geri çağırım işlevine aktarılmayacak.
       </td>
      </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        <code class="parameter">errcontext</code> kullanımdan kaldırıldı. Bu
        bağımsız değişkenin kullanımı bir <strong><code><a href="errorfunc.constants.php#constant.e-deprecated">E_DEPRECATED</a></code></strong>
        üretilmesine sebep olur.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.set-error-handler-examples">
  <h3 class="title">Örnekler</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Örnek 1 - <span class="function"><strong>set_error_handler()</strong></span> ve
    <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span> ile hataların ele alınması</strong></p>
    <div class="example-contents"><p>
     Bu örnekte hatalar tetiklenerek oluşan dahili istisnaların kullanıcı
     tanımlı bir işlev ile ele alınması gösterilmiştir.
    </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">// hata işleyici işlevi<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">hataİşleyicim</span><span style="color: #007700">(</span><span style="color: #0000BB">$hatanum</span><span style="color: #007700">, </span><span style="color: #0000BB">$ileti</span><span style="color: #007700">, </span><span style="color: #0000BB">$betik</span><span style="color: #007700">, </span><span style="color: #0000BB">$satırnum</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">$hatanum</span><span style="color: #007700">)) {<br />        </span><span style="color: #FF8000">// Bu hata kodu error_reporting'e dahil olmaz, bu yüzden<br />        // standart PHP hata işleyicisine düşmesine izin verin<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">// $ileti önceleme gerektirebilir<br />    </span><span style="color: #0000BB">$ileti </span><span style="color: #007700">= </span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$ileti</span><span style="color: #007700">);<br /><br />    switch (</span><span style="color: #0000BB">$hatanum</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;HATA&lt;/b&gt; [</span><span style="color: #0000BB">$hatanum</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$ileti</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        echo </span><span style="color: #DD0000">"  </span><span style="color: #0000BB">$betik</span><span style="color: #DD0000"> dosyasının </span><span style="color: #0000BB">$satırnum</span><span style="color: #DD0000">. satırında  ölümcül hata"</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">"Çıkılıyor...&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;UYARI&lt;/b&gt; [</span><span style="color: #0000BB">$hatanum</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$ileti</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;BİLGİ&lt;/b&gt; [</span><span style="color: #0000BB">$hatanum</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$ileti</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">"Bilinmeyen hata türü: [</span><span style="color: #0000BB">$hatanum</span><span style="color: #DD0000">] </span><span style="color: #0000BB">$ileti</span><span style="color: #DD0000">&lt;br /&gt;\n"</span><span style="color: #007700">;<br />        break;<br />    }<br /><br />    </span><span style="color: #FF8000">/* PHP'nin yerleşik hata işleyici çalışmasın */<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">// Hatanın oluşacağı işlev<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">"x &lt;= 0 için log(x) tanımsız, scale = </span><span style="color: #0000BB">$scale</span><span style="color: #DD0000"> verilmiş"</span><span style="color: #007700">,<br />                      </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">"Yanlış girdi, değerler dizi olarak verilmeliydi"</span><span style="color: #007700">,<br />                      </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">"</span><span style="color: #0000BB">$pos</span><span style="color: #DD0000">. değer bir sayı değil, 0 kullanılıyor"</span><span style="color: #007700">,<br />                          </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 /><br />    return </span><span style="color: #0000BB">$temp</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// kullanıcı tanımlı hata işleyiciyi bildir<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">"hataİşleyicim"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Bazı hataları tetikle.<br />// Önce sayısal olmayan bir eleman içeren bir dizi tanımla.<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"ilk durum; bir hata: sayı yerine dizge\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">// burada ikinci hatayı üret<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nikinci durum - bir uyarı (b = log(PI) * a)\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* $pos. değer bir sayı değil, 0 kullanılıyor */<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">// Bir dizi yerine bir dizge aktarıp yine sorun çıkar<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\nüçüncü durum - bir uyarı\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* Yanlış girdi, değerler dizi olarak verilmeliydi */<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">"not 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 />// Bu önemli bir hata; sıfır veya negatif bir sayının logaritması.<br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"----\ndördüncü durum - ölümcül hata\n"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">/* x &lt;= 0 için log(x) tanımsız, scale = $scale olmalıydı */<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">// Bu satır hiç çalışmayacak.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
Yukarıdaki örnek şuna benzer bir çıktı üretir:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">ilk durum; bir hata: sayı yerine dizge
Array
(
    [0] =&gt; 2
    [1] =&gt; 3
    [2] =&gt; foo
    [3] =&gt; 5.5
    [4] =&gt; 43.3
    [5] =&gt; 21.11
)
----
ikinci durum - bir uyarı (b = log(PI) * a)
&lt;b&gt;BİLGİ&lt;/b&gt; [1024] 2. değer bir sayı değil, 0 kullanılıyor&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
)
----
üçüncü durum - bir uyarı
&lt;b&gt;UYARI&lt;/b&gt; [512] Yanlış girdi, değerler dizi olarak verilmeliydi&lt;br /&gt;
NULL
----
dördüncü durum - ölümcül hata
&lt;b&gt;HATA&lt;/b&gt; [256] x &lt;= 0 için log(x) tanımsız, scale = -2.5 verilmiş&lt;br /&gt;
  php-dnm dosyasının 36. satırında  ölümcül hata, PHP 5.3.0beta2-dev
  (Linux)&lt;br /&gt;
Çıkılıyor...&lt;br /&gt;</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.set-error-handler-seealso">
  <h3 class="title">Ayrıca Bakınız</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> - Hangi PHP hatalarının raporlanacağını tanımlar</span></li>
    <li><span class="function"><a href="function.restore-error-handler.php" class="function" rel="rdfs-seeAlso">restore_error_handler()</a> - Bir &ouml;nceki hata eylemcisini devreye sokar</span></li>
    <li><span class="function"><a href="function.trigger-error.php" class="function" rel="rdfs-seeAlso">trigger_error()</a> - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi &uuml;retir</span></li>
    <li><a href="errorfunc.constants.php" class="link">Hata seviyesi
    sabitleri</a></li>
   </ul>
  </p>
 </div>

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