<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.errors.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'language.errors.basics.php',
    1 => 'Lo b&aacute;sico',
    2 => 'Lo b&aacute;sico',
  ),
  'up' => 
  array (
    0 => 'language.errors.php',
    1 => 'Errores',
  ),
  'prev' => 
  array (
    0 => 'language.errors.php',
    1 => 'Errores',
  ),
  'next' => 
  array (
    0 => 'language.errors.php7.php',
    1 => 'Errores en PHP 7',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'language/errors/basics.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.errors.basics" class="sect1">
 <h2 class="title">Lo básico</h2>

 <p class="para">
  PHP notifica errores en respuesta a varias condiciones de error internas.
  Estas se pueden utilizar para señalar varias condiciones diferentes,
  mostrándose y/o registrándose si fuera necesario.
 </p>

 <p class="para">
  Cada error que genera PHP incluye un tipo. Existe una
  <a href="errorfunc.constants.php" class="link">lista de dichos tipos de error</a>,
  junto con una breve descripción de su comportamiento y sus posibles
  causas.
 </p>

 <div class="sect2" id="language.errors.basics.handling">
  <h3 class="title">Manejo de errores con PHP</h3>

  <p class="para">
   Si no se establece un manejador de errores, PHP manejará cada error que ocurra
   según su configuración. Los errores que se notifican y los que se
   ignoran se controla mediante la directiva
   <a href="errorfunc.configuration.php#ini.error-reporting" class="link"><code class="parameter">error_reporting</code></a>
   de php.ini, o durante la ejecución llamando a
   <span class="function"><a href="function.error-reporting.php" class="function">error_reporting()</a></span>. Sin embargo, se recomienda encarecidamente
   establecer la directiva de configuración, ya que algunos errores pueden ocurrir
   antes de comenzar la ejecución de un script.
  </p>

  <p class="para">
   En un entorno de desarrollo debería establecerse siempre
   <a href="errorfunc.configuration.php#ini.error-reporting" class="link"><code class="parameter">error_reporting</code></a>
   a <strong><code><a href="errorfunc.constants.php#constant.e-all">E_ALL</a></code></strong>, debido a que es necesario reconocer y corregir los
   problemas generados por PHP. En producción, se podría establecer esta directiva a
   un nivel de menor verbosidad como
   <code class="code">E_ALL &amp; ~E_NOTICE &amp; ~E_DEPRECATED</code>, aunque
   en muchos casos <strong><code><a href="errorfunc.constants.php#constant.e-all">E_ALL</a></code></strong> también es apropiado, ya que puede
   proporcionar advertencias precoces de problemas potenciales.
  </p>

  <p class="para">
   Lo que PHP hace con estos errores depende de dos directivas más de php.ini.
   <a href="errorfunc.configuration.php#ini.display-errors" class="link"><code class="parameter">display_errors</code></a>
   controla si el error es mostrado como parte de la salida del script. Esta
   debería estar siempre deshabilitada en un entorno de producción, ya que puede incluir
   información confidencial tal como contraseñas de bases de datos, aunque a menudo es útil
   habilitarla en desarrollo debido a que asegura la notificación inmediata de problemas.
  </p>

  <p class="para">
   Además de mostrar errores, PHP puede registrarlos cuando la directiva
   <a href="errorfunc.configuration.php#ini.log-errors" class="link"><code class="parameter">log_errors</code></a>
   está habilitada. Esta registrará cualquier error en el fichero o registro del sistema
   definido por
   <a href="errorfunc.configuration.php#ini.error-log" class="link"><code class="parameter">error_log</code></a>. Esta directiva
   puede ser extremadamente útil en un entorno de producción debido a que se pueden registrar
   los errores que ocurran y generar informes basados en ellos.
  </p>
 </div>

 <div class="sect2" id="language.errors.basics.user">
  <h3 class="title">Manejadores de errores de usuario</h3>

  <p class="para">
   Si el manejo de errores predeterminado de PHP es inadecuado, también se pueden manejar muchos
   tipos de error con un manejador de errores propio mediante
   <span class="function"><a href="function.set-error-handler.php" class="function">set_error_handler()</a></span>. Mientras que algunos tipos de error no se pueden
   manejar de esta forma, aquellos que sí se pueden lo hacen de la manera
   en que su script vea apropiada: por ejemplo, se puede emplear para mostrar al usuario
   una página de error personalizada y luego notificar más directamente mediante un registro,
   tal como el envío de un correo electrónico.
  </p>
 </div>
</div><?php manual_footer($setup); ?>