Foros del Web » Programando para Internet » PHP »

Entorno Try Catch

Estas en el tema de Entorno Try Catch en el foro de PHP en Foros del Web. Buenas tardes, siempre he desarrollado tanto de Java como .Net y tengo una duda técnica sobre el funcionamiento del Try y Cath en Php. Por ...
  #1 (permalink)  
Antiguo 04/09/2012, 03:42
 
Fecha de Ingreso: julio-2010
Mensajes: 25
Antigüedad: 13 años, 9 meses
Puntos: 2
Entorno Try Catch

Buenas tardes, siempre he desarrollado tanto de Java como .Net y tengo una duda técnica sobre el funcionamiento del Try y Cath en Php.

Por ejemplo, en Java, si se está haciendo cualquier tipo de lógica dentro del try, si por alguna razón salta un error de forma automática Java lanza una excepción y esta la puedes tratar dentro del Catch, de esta forma no tienes que controlar lo que programas en el Try ya que si por alguna razón salta un error sabes que vas a poderlo tratar en el Catch.

En PhP tengo el siguiente problema, por lo que he leído en la documentación, la única forma de poder utilizar el catch es mediante el lanzamiento de una excepción, y esto es lo que no acabo de entender.

Por ejemplo, si yo en mi try estoy haciendo un cálculo de cualquier tipo, y por alguna razón casca lo que estoy haciendo, el entorno PHP no te lleva hacia el Catch, si deseas eso tienes que controlar el error en el Try y lanzar tu una excepción, lo que me hace pensar, de que sirve tener un catch si para poder utilizarlo necesito YO controlar los ERRORES y lanzar las excepciones? Existe alguna forma de que se comporte de la misma forma que JAVA o .NET?

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 04/09/2012, 07:22
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Entorno Try Catch

el funcionamiento es el mismo que en otros lenguajes, pero siempre y cuando la librería esté desarrollada bajo las convenciones de PHP 5+, recuerda que a diferencia de Java y C#, PHP es un lenguaje multiparadigma, y la POO fue implementada en PHP4 y reestructurada en PHP5, por el cual existen librerías obsoletas que no implementan el mecanismo de excepciones, lo ideal es usar las nuevas como PDO

además la mejor forma de evitar una división por cero es verificando si el divisor es diferente de cero, utilizar el mecanismo de excepciones para algo tan trivial consume muchos recursos del sistema
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Última edición por maycolalvarez; 04/09/2012 a las 07:28
  #3 (permalink)  
Antiguo 04/09/2012, 07:52
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Entorno Try Catch

Hola, me llamo la atención este tema porque yo llevo muy poco tiempo de saber Java (pasa ser exactos 3 semanas) y no sabia que existia algo similar para hacer excepciones en PHP. Igual yo te sugiero como dice maycolalvarez que tu mismo hagas las verificaciones antes de enviar datos. Como sugerencias se pueden usar expresiones regulares para verificar que los valores que se van a enviar tengan alguna estructura. (puedes buscar expresiones regulares php para investigar mas)

Igual me causo curiosidad ver las excepciones y no sobra mirar el manual de php al respecto de ese tema. Seguro que tu que ya tienes mas experiencia le podras sacar el jugo.

http://php.net/manual/es/language.exceptions.php

Igual en el manual confirma lo que dice maycolalvarez, ya es cuestión que tu lo mires y lo estudies a profundidad.
Cita:
Nota:
Las funciones internas de PHP utilizan principalmente Información de Errores, sólo las extensiones Orientadas a objetos modernas utilizan excepciones. Sin embargo, los errores se pueden traducir a excepciones simplemente con ErrorException.
__________________
Blog de humor http://elcuasatar.net63.net/
  #4 (permalink)  
Antiguo 05/09/2012, 02:15
 
Fecha de Ingreso: julio-2010
Mensajes: 25
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Entorno Try Catch

Muchas gracias a los dos por ayudarme! estoy documentando muchísimo para poder cambiar mi forma de programar y de una vez por todas lanzarme son Symofny 2, ahí ya no voy a tener este tipo de problemas, pero por ahora me las arreglaré, de nuevo muchas gracias"

Etiquetas: catch, errores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:32.