Autor Tema: Try catch  (Leído 2146 veces)

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Try catch
« en: Mayo 23, 2011, 06:34:58 pm »
Pues mi duda es muy sencilla: existe en Bennu el try catch??

¿¿Sabéis a qué me refiero no??
En C# sería:
Código: [Seleccionar]
try
{
    loquesea;
}
catch(exception err)
{
    lo que sea
}
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re: Try catch
« Respuesta #1 en: Mayo 23, 2011, 06:36:52 pm »
no existe
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re: Try catch
« Respuesta #2 en: Mayo 23, 2011, 06:37:54 pm »
Vaya por dios... con lo útil que es... xDDD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6422
  • Karma: 167
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Try catch
« Respuesta #3 en: Mayo 23, 2011, 06:42:31 pm »
¿Por qué? En bennu no hay excepciones, hay valores que indican error (generalmente valores negativos o cero) si la función no va como debería, y en caso de error grave, es el SO el que da la voz de alarma (segmentation fault o ventanazo de error) :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re: Try catch
« Respuesta #4 en: Mayo 23, 2011, 07:55:02 pm »
¿Por qué? En bennu no hay excepciones, hay valores que indican error (generalmente valores negativos o cero) si la función no va como debería, y en caso de error grave, es el SO el que da la voz de alarma (segmentation fault o ventanazo de error) :P

vos decis que existe eso en bennugd? explica entonces como se hace.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: Try catch
« Respuesta #5 en: Mayo 23, 2011, 08:05:14 pm »
Lo de los valores negativos y 0 ahí está, lo de las voces de alarma no tengo constancia, no, pero la idea mola.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re: Try catch
« Respuesta #6 en: Mayo 23, 2011, 08:15:58 pm »
Pues molaría que se pudiese hacer un try catch, de forma que intentas entrar a un fichero que no existe y si está dentro de un try catch pos salte al catch. No se, creoq ue puede ser una herramienta util.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re: Try catch
« Respuesta #7 en: Mayo 23, 2011, 08:27:58 pm »
nadie dice que no molaria, solo que la respuesta a la pregunta si existe es "no"
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft
Re: Try catch
« Respuesta #8 en: Mayo 23, 2011, 11:04:12 pm »
Entonces esto no se implementará, estoy en lo cierto ?  ;D

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re: Try catch
« Respuesta #9 en: Mayo 24, 2011, 12:02:00 am »
Entonces esto no se implementará, estoy en lo cierto ?  ;D

te equivocas, por que ese razonamiento? nadie hablo de que se hara o no, por que tu asumes que no se hara?

por otro lado, para que te pensas que estan reservados los simbolos onerror?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5706
  • Karma: 129
    • GECA soft
Re: Try catch
« Respuesta #10 en: Mayo 24, 2011, 06:35:19 am »
la respuesta no era 'no' ?  ;D

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re: Try catch
« Respuesta #11 en: Mayo 24, 2011, 04:12:51 pm »
A ver, el ha dicho no a que no está implementado en la versión actual. Nadie ha hablado de futuras versiones xDDD
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6422
  • Karma: 167
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Try catch
« Respuesta #12 en: Mayo 26, 2011, 08:03:34 pm »
¿Por qué? En bennu no hay excepciones, hay valores que indican error (generalmente valores negativos o cero) si la función no va como debería, y en caso de error grave, es el SO el que da la voz de alarma (segmentation fault o ventanazo de error) :P
vos decis que existe eso en bennugd? explica entonces como se hace.

??? yo no he dicho tal cosa. ¿Cómo se hace el qué?

Pues molaría que se pudiese hacer un try catch, de forma que intentas entrar a un fichero que no existe y si está dentro de un try catch pos salte al catch. No se, creoq ue puede ser una herramienta util.

Si intentas entrar en un fichero que no existe:
-Pirmero, tienes GLOB, FILE_EXISTS y otras funciones para saber si existe o no el fichero.
-Segundo, si usas FOPEN y hay un fallo (no existe o no se puede abrir) este devuelve 0.
-Tercero, si aun así insistes y usas FREAD o similares, devolverán el número de datos leidos, en este caso, cero.

Vamos, que si sigues necesitando TRY-CATCH, es que te gusta hacer las cosas a las bravas :D
Y con todas las funciones es igual, al menos con el 90% de ellas. TRY-CATCH puede venir bien si trabajamos con punteros o con arrays, para evitar que se cierre el programa por un segmentation fault (error que da SDL, Windows, Linux...).
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12929
  • Karma: 378
Re: Try catch
« Respuesta #13 en: Mayo 26, 2011, 09:24:40 pm »
¿Por qué? En bennu no hay excepciones, hay valores que indican error (generalmente valores negativos o cero) si la función no va como debería, y en caso de error grave, es el SO el que da la voz de alarma (segmentation fault o ventanazo de error) :P
vos decis que existe eso en bennugd? explica entonces como se hace.

??? yo no he dicho tal cosa. ¿Cómo se hace el qué?

Pues molaría que se pudiese hacer un try catch, de forma que intentas entrar a un fichero que no existe y si está dentro de un try catch pos salte al catch. No se, creoq ue puede ser una herramienta util.

Si intentas entrar en un fichero que no existe:
-Pirmero, tienes GLOB, FILE_EXISTS y otras funciones para saber si existe o no el fichero.
-Segundo, si usas FOPEN y hay un fallo (no existe o no se puede abrir) este devuelve 0.
-Tercero, si aun así insistes y usas FREAD o similares, devolverán el número de datos leidos, en este caso, cero.

Vamos, que si sigues necesitando TRY-CATCH, es que te gusta hacer las cosas a las bravas :D
Y con todas las funciones es igual, al menos con el 90% de ellas. TRY-CATCH puede venir bien si trabajamos con punteros o con arrays, para evitar que se cierre el programa por un segmentation fault (error que da SDL, Windows, Linux...).

que quisiste decir? porque sigo pensando que quisiste decir eso.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6422
  • Karma: 167
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: Try catch
« Respuesta #14 en: Mayo 27, 2011, 10:16:46 pm »
Pues quise decir que todas las funciones, en caso de error, en lugar de provocar una excepción (que interrumpe el programa y todo eso) devuelven un código de error para que se pueda seguir con la ejecución normal del programa o alterarlo para arreglarlo o dar el aviso.
En el caso de que el error sea muy grave (lectura de memoria fuera de rango, división por cero o similares) salta una excepción, pero no desde Bennu, sino desde el Sistema Operativo (o desde las SDL). Quizás ahí fuese interesante tener la opción de corregir o salir limpiamente del programa, pero que actualmente bennu no lo tiene.

¿Así queda más claro? :D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)