<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.operators.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'tr',
  ),
  'this' => 
  array (
    0 => 'language.operators.errorcontrol.php',
    1 => 'Hata Denetim',
    2 => 'Hata Denetim İşle&ccedil;leri',
  ),
  'up' => 
  array (
    0 => 'language.operators.php',
    1 => 'İşle&ccedil;ler',
  ),
  'prev' => 
  array (
    0 => 'language.operators.comparison.php',
    1 => 'Karşılaştırma',
  ),
  'next' => 
  array (
    0 => 'language.operators.execution.php',
    1 => '&Ccedil;alıştırma',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    'path' => 'language/operators/errorcontrol.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.operators.errorcontrol" class="sect1">
 <h2 class="title">Hata Denetim İşleçleri</h2>
 
 <p class="simpara">
  PHP tek bir hata denetim işlecini destekler: kuyruklu a imi
  (<code class="literal">@</code>). PHP&#039;de bir deyimin başına getirildiğinde,
  bu deyimin üreteceği olası hata iletileri engellenir.
 </p>
 <p class="para">
  <span class="function"><a href="function.set-error-handler.php" class="function">set_error_handler()</a></span> ile özel bir hata işleyici işlevi
  ayarlanırsa, tanılama bastırılmış olsa bile işlev çağrılır.
 </p>

 <div class="warning"><strong class="warning">Uyarı</strong>
  <p class="para">
   PHP 8.0.0&#039;dan önce, özel hata işleyicisinden çağrılan
   <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span> işlevi, hata <code class="literal">@</code>
   işleci ile bastırılmış olsa bile daima <code class="literal">0</code> döndürürdü.
   PHP 8.0.0 ve sonrasında  <code class="literal">E_ERROR | E_CORE_ERROR |
    E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR | E_PARSE</code>
   bitsel ifadesinin değeri dönmektedir.
  </p>
 </div>

 <p class="simpara">
  İfade tarafından üretilenhata iletisi, <span class="function"><strong>get_error_last()</strong></span>
  işlevinden dönen dizinin <code class="literal">&quot;message&quot;</code> elemanında bulunur.
  Bu işlevin sonucu her hatada değişir, bu bakımdan sonuca yeterince kısa
  sürede bakmak gerekir.
 </p>
 <p class="para">
  <div class="informalexample">
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Kasıtlı dosya hatası */<br /></span><span style="color: #0000BB">$dosyam </span><span style="color: #007700">= @</span><span style="color: #0000BB">file </span><span style="color: #007700">(</span><span style="color: #DD0000">'var_olmayan_dosya'</span><span style="color: #007700">) or<br />    die (</span><span style="color: #DD0000">"Dosya açılamadı: hata '" </span><span style="color: #007700">. </span><span style="color: #0000BB">get_error_last</span><span style="color: #007700">()[</span><span style="color: #DD0000">'message'</span><span style="color: #007700">] . </span><span style="color: #DD0000">"'"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// İfadelerle çalışır ama işlevlerle çalışmaz:<br /></span><span style="color: #0000BB">$değer </span><span style="color: #007700">= @</span><span style="color: #0000BB">$cache</span><span style="color: #007700">[</span><span style="color: #0000BB">$key</span><span style="color: #007700">];<br /></span><span style="color: #FF8000">// $key indisi mevcut değilse bir uyarı çıktılanır.<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </p>
 <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
  <span class="simpara">
   Kuyruklu a işleci sadece <a href="language.expressions.php" class="link">ifadeler</a>in başında kullanıldığında çalışır. Kısaca: Bir değer
   elde edilebilen herşeyin başına <code class="literal">@</code> getirilebilir.
   Örneğin, değişkenlerin işlev veya <span class="function"><a href="function.include.php" class="function">include</a></span>
   çağrılarının, sabitlerin ve benzerlerinin başına <code class="literal">@</code>
   getirilebilir. Ama işlev veya sınıf tanımlarının veya
   <code class="literal">if</code> ve <a href="control-structures.foreach.php" class="link">foreach</a> gibi denetim
   yapılarının başına <code class="literal">@</code> konamaz.
  </span>
 </p></blockquote>
 <div class="warning"><strong class="warning">Uyarı</strong>
  <p class="para">
   PHP 8.0.0 öncesinde, <code class="literal">@</code> hata denetim işleci ile
   betiğin çalışmasını sonlandıracak önemli hataların raporlanmasını
   iptal etmek mümkündü.
   Bu bakımdan, işleç örneğin bir işlevden kaynaklanabilecek hataları
   bastırmak için kullanılıyorsa, işlev tanımında yapılan yazım hataları
   nedeniyle veya işlevin yokluğu halinde, ne olup bittiği anlaşılamadan
   betik sonlanabiliyordu.
  </p>
 </div>

 <div class="sect2">
  <h3 class="title">Ayrıca Bakınız</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span></li>
    <li><a href="ref.errorfunc.php" class="link">Hata İşleme İşlevleri</a></li>
   </ul>
  </p>
 </div>
</div><?php manual_footer($setup); ?>