Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2005
Garion Garion is offline
Registrado
 
Registrado: may 2005
Posts: 2
Poder: 0
Garion Va por buen camino
manual de excepciones de object pascal para free pascal???

Hola, estoy buscando algun manual sobre las excepciones en object pascal. Se algo sobre ellas xo hay cosas que no entiendo como el uso de raise. Se que existen tb las instrucciones try - expect y try - finally y se usarlas para crear procedimientos o simplemente instrucciones que se ejecuten en caso de que se produzca una excepcion para que no salga del programa xo no se muy bien cual es el uso de la clase exception
Por ejemplo, tengo que hacer un programa en el que, en una parte de él, necesito acceder a un fichero y tengo que crear una excepcion para el caso de que no exista. Usando try - expect es facil hacer un procedimiento para que, en el caso de que no exista, simplemente lo cree. Pero la practica (es para la universidad) consiste en crear objetos que hereden de la clase exception y ademas quiero entender como se usa la instruccion raise.
Lo he intentado haciendo que en caso de error haga "raise mem.crear" donde mem.crear es

Código Delphi [-]
            constructor mem.crear
            begin
                    inherited Create ('Fichero no encontrado');
                    {esta parte es la que intento que haga xo supongo que asi no se usa esto}
                    rewrite (memoria);
                    mensaje ('Fichero no encontrado') //Muestra una ventana en gtk
           end;

y al ejecutar el programa, en lugar de EInOutError: file not exist me sale EAccessViolation: Access Violation pero no se para que me sirve esto
Alguna ayuda?
Gracias

Última edición por jachguate fecha: 26-05-2005 a las 20:24:44.
Responder Con Cita
  #2  
Antiguo 26-05-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 21
jachguate Va por buen camino
Hola Garion.

Bienvenido(a) al clubdelphi. Este es un lugar de encuentro para muchos programadores de delphi de habla hispana de todo el globo. Para que la cosa funcione bien aqui, nos basamos en las reglas de la guia de estilo de los foros.

Nuestro sistema de foros también cuenta con diferentes etiquetas para publicar texto con formato y trozos de código con indentación y también con la sintaxis resaltada

He editado tu mensaje para añadir la etiqueta [ delphi ] y estoy seguro que verás la diferencia.

Sobre tu pregunta, te recomiento el libro "la cara oculta de delphi" de Ian Marteens, que dedica un capítulo al manejo de excepciones.

En tu caso particular, no entiendo que hace el rewrite(memoria) alli donde está...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 27-05-2005
Garion Garion is offline
Registrado
 
Registrado: may 2005
Posts: 2
Poder: 0
Garion Va por buen camino
Ya me parecia que no era muy ortodoxo lo que estaba haciendo. La parte del rewrite (memoria) lo que pretendia era que arreglase la excepcion reescribiendo el archivo volviendolo a crear que era lo que nos habia pedido el profesor. El problema es que con objetos acabo de empezar y no se muy bien como utilizarlo y esto de las excepciones menos.
Entonces, si no es ahi donde tengo que poner el rewrite, ¿como deberia escribir el codigo utilizando la instruccion raise para que cuando detecte la excepcion de que no existe el fichero, use una clase que herede de exception y que se encargue de que no se termine la ejecucion del programa creando el fichero de nuevo?
P.Derdon por el fallo del codigo, la verdad es que ando con prisas ultimamente y no me pare a leer nada
Responder Con Cita
  #4  
Antiguo 27-05-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.243
Poder: 21
jachguate Va por buen camino
Hola. No esperes que te haga la tarea. Lamento si estas muy apresurado, pero algo de tiempo de necesita para leer y comprender. Te he referido ya al libro de marteens, que debiera sacarte de la mayoría de las dudas, y cuyo capítulo de excepciones puede "tragarse" en unos minutos (son 22 páginas) y digerirse picando un poco de código.

Si volves luego de leer e intentar un poco, será un placer ayudarte.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:02:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi