Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/10/2007, 09:17
mhatter
 
Fecha de Ingreso: septiembre-2007
Mensajes: 52
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: Errores y e interrupcion del flujo de los scripts

Cita:
Iniciado por Computer XTress Ver Mensaje
pero si lo terminamos con un exit(); en cualquier lado la memoria utilizada ó las conexiones abiertas no se van a limpiar/cerrar de forma instantánea...
No se dónde has leído o escuchado esta afirmación, o quizás te refieres a algo que yo no interpreto bien cuando hablas de "limpiar de forma instantánea", pero la llamada a exit() no es tan "brusca" como la imaginas. En PHP, la función exit() inicia el proceso de finalización del script, que incluye limpieza de memoria, cerrar recursos/conexiones abiertas y otras tareas de esa naturaleza.

El manual de PHP menciona en varios apartes (p.ej. http://www.php.net/manual/es/language.types.resource.php) que operaciones como cerrar gestores de archivos o recursos de conexión (como p.ej. con mysql_close()) no es estrictamente necesario, ya que PHP maneja la limpieza de esos objetos automáticamente.


Cita:
Iniciado por Computer XTress Ver Mensaje
¿Hay alguna forma de hacer alguna especie de "try() / catch()" en PHP?
En PHP 5 existe soporte para excepciones con la sintaxis que mencionas: http://www.php.net/manual/es/language.exceptions.php

También puedes definir gestores personalizados para manejar errores y excepciones con set_error_handler() y set_exception_handler().


Cita:
Iniciado por Computer XTress Ver Mensaje
¿Hay alguna función por medio de la cual pueda definir una función a ejecutarse justo cuando el script termine (sea normal o anormalmente)?
register_shutdown_function().


Espero que todo este tema de liberar memoria y cerrar conexiones no te tuviera despierto de noche, y si es así quizás ahora puedas dormir un poco más tranquilo :)