mirror of
https://github.com/php/doc-tr.git
synced 2026-03-23 23:02:09 +01:00
106 lines
3.5 KiB
XML
106 lines
3.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 43d07782b514d0c7a8487f2c74063739f302df8d Maintainer: nilgun Status: ready -->
|
||
<sect1 xml:id="language.operators.errorcontrol">
|
||
<title>Hata Denetim İşleçleri</title>
|
||
<titleabbrev>Hata Denetim</titleabbrev>
|
||
<simpara>
|
||
PHP tek bir hata denetim işlecini destekler: kuyruklu a imi
|
||
(<literal>@</literal>). PHP'de bir deyimin başına getirildiğinde,
|
||
bu deyimin üreteceği olası hata iletileri engellenir.
|
||
</simpara>
|
||
<para>
|
||
<function>set_error_handler</function> ile özel bir hata işleyici işlevi
|
||
ayarlanırsa, tanılama bastırılmış olsa bile işlev çağrılır.
|
||
</para>
|
||
|
||
<warning>
|
||
<para>
|
||
PHP 8.0.0'dan önce, özel hata işleyicisinden çağrılan
|
||
<function>error_reporting</function> işlevi, hata <literal>@</literal>
|
||
işleci ile bastırılmış olsa bile daima <literal>0</literal> döndürürdü.
|
||
PHP 8.0.0 ve sonrasında <literal>E_ERROR | E_CORE_ERROR |
|
||
E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR | E_PARSE</literal>
|
||
bitsel ifadesinin değeri dönmektedir.
|
||
</para>
|
||
</warning>
|
||
|
||
<simpara>
|
||
İfade tarafından üretilenhata iletisi, <function>get_error_last</function>
|
||
işlevinden dönen dizinin <literal>"message"</literal> elemanında bulunur.
|
||
Bu işlevin sonucu her hatada değişir, bu bakımdan sonuca yeterince kısa
|
||
sürede bakmak gerekir.
|
||
</simpara>
|
||
<para>
|
||
<informalexample>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
/* Kasıtlı dosya hatası */
|
||
$dosyam = @file ('var_olmayan_dosya') or
|
||
die ("Dosya açılamadı: hata '" . get_error_last()['message'] . "'");
|
||
|
||
// İfadelerle çalışır ama işlevlerle çalışmaz:
|
||
$değer = @$cache[$key];
|
||
// $key indisi mevcut değilse bir uyarı çıktılanır.
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</informalexample>
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
Kuyruklu a işleci sadece <link linkend="language.expressions"
|
||
>ifadeler</link>in başında kullanıldığında çalışır. Kısaca: Bir değer
|
||
elde edilebilen herşeyin başına <literal>@</literal> getirilebilir.
|
||
Örneğin, değişkenlerin işlev veya <function>include</function>
|
||
çağrılarının, sabitlerin ve benzerlerinin başına <literal>@</literal>
|
||
getirilebilir. Ama işlev veya sınıf tanımlarının veya
|
||
<literal>if</literal> ve &foreach; gibi denetim
|
||
yapılarının başına <literal>@</literal> konamaz.
|
||
</simpara>
|
||
</note>
|
||
<warning>
|
||
<para>
|
||
PHP 8.0.0 öncesinde, <literal>@</literal> 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.
|
||
</para>
|
||
</warning>
|
||
|
||
<sect2 role="seealso">
|
||
&reftitle.seealso;
|
||
<para>
|
||
<simplelist>
|
||
<member><function>error_reporting</function></member>
|
||
<member><link linkend="ref.errorfunc">Hata İşleme İşlevleri</link></member>
|
||
</simplelist>
|
||
</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|