Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2017-06

try...except

6 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

hfiandor

Estimados listeros:

Tengo en un procedure lo siguiente:

  try
    if fdm.tProSerNeg1.Active=true then fdm.tProSerNeg1.Active:=false;
    fdm.tProSerNeg1.FileName:=camino_BD + '\Clasificadores.db';
    if fdm.tProSerNeg1.Active=false then fdm.tProSerNeg1.Active:=true;
    Log('ProSerNeg1 está activa.');
  except
    Log('Error en activar ProSerNeg1.');
    On E :Exception do
    begin ShowMessage(E.Message); end;
  end;

Deseo conocer cuál es el error.

Cuando trato de compilar, me dice que “On not found..” o algo parecido.

Leí una página web sobre Try
except y no me dice mucho más que esto.

Evidentemente me falta algo, que no sé qué es. O quizás he redactado mal el error handling.

Les agradecería alguna ayuda para aprender y salir del apuro.

Saludos

Ing. Héctor F. Fiandor Rosario

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170621/590200a6/attachment.html>

Reply by email

Iván
to hfiandor

Hola Héctor
Creo que entre el except y el on... No puedes meter nada. Abrazos.
Pd tengo tarea pendiente contigo

El 22 jun. 2017 1:30, "hfiandor via Lazarus-es" <

lazarus-es en lists.lazarus-ide.org> wrote 61 lines
Estimados listeros: Tengo en un procedure lo siguiente: try if fdm.tProSerNeg1.Active=true then fdm.tProSerNeg1.Active:=false; fdm.tProSerNeg1.FileName:=camino_BD + '\Clasificadores.db'; if fdm.tProSerNeg1.Active=false then fdm.tProSerNeg1.Active:=true; Log('ProSerNeg1 está activa.'); except Log('Error en activar ProSerNeg1.'); On E :Exception do begin ShowMessage(E.Message); end; end; Deseo conocer cuál es el error. Cuando trato de compilar, me dice que “On not found..” o algo parecido. Leí una página web sobre Try…except y no me dice mucho más que esto. Evidentemente me falta algo, que no sé qué es. O quizás he redactado mal el error handling. Les agradecería alguna ayuda para aprender y salir del apuro. Saludos Ing. Héctor F. Fiandor Rosario _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170622/9409dbe4/attachment.html>

Reply by email

Jose Antonio Cuello
to hfiandor: Estimados listeros: Tengo en un procedure lo siguiente: try if…
Prueba con
try
except
on E: Exception do
begin
Log('Error en activar ProSerNeg1.');
ShowMessage(E.Message);
end;
end;

De: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus-ide.org> Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus-ide.org> CC: "hfiandor" <hfiandor en ceniai.inf.cu>
Enviados: Jueves, 22 de Junio 2017 1:30:33
Asunto: [Lazarus-es] try...except

Estimados listeros:

Tengo en un procedure lo siguiente:

try
if fdm.tProSerNeg1.Active=true then fdm.tProSerNeg1.Active:=false;
fdm.tProSerNeg1.FileName:=camino_BD + '\Clasificadores.db';
if fdm.tProSerNeg1.Active=false then fdm.tProSerNeg1.Active:=true;
Log('ProSerNeg1 está activa.');
except
Log('Error en activar ProSerNeg1.');

On E :Exception do

begin ShowMessage(E.Message); end;
end;

Deseo conocer cuál es el error.

Cuando trato de compilar, me dice que “On not found..” o algo parecido.

Leí una página web sobre Try…except y no me dice mucho más que esto.

Evidentemente me falta algo, que no sé qué es. O quizás he redactado mal el error handling.

Les agradecería alguna ayuda para aprender y salir del apuro.

Saludos

Ing. Héctor F. Fiandor Rosario

Reply by email

Jesus Reyes A.
to hfiandor: Estimados listeros: Tengo en un procedure lo siguiente: try if…

En Wed, 21 Jun 2017 18:30:33 -0500, hfiandor via Lazarus-es

<lazarus-es en lists.lazarus-ide.org> wrote 48 lines
Estimados listeros: Tengo en un procedure lo siguiente: try if fdm.tProSerNeg1.Active=true then fdm.tProSerNeg1.Active:=false; fdm.tProSerNeg1.FileName:=camino_BD + '\Clasificadores.db'; if fdm.tProSerNeg1.Active=false then fdm.tProSerNeg1.Active:=true; Log('ProSerNeg1 está activa.'); except Log('Error en activar ProSerNeg1.'); On E :Exception do begin ShowMessage(E.Message); end; end; Deseo conocer cuál es el error. Cuando trato de compilar, me dice que “On not found..” o algo parecido. Leí una página web sobre Try…except y no me dice mucho más que esto. Evidentemente me falta algo, que no sé qué es. O quizás he redactado mal el error handling. Les agradecería alguna ayuda para aprender y salir del apuro. Saludos Ing. Héctor F. Fiandor Rosario

Hola Héctor, primero que nada recibe un cordial saludo.

Según la sintaxis declarada en esta página:
https://www.freepascal.org/docs-html/ref/refse113.html lo que va entre un except ... end; puede ser solamente una de tres cosas:

1. Nada (... que puede incluir, claro esta, comentarios o líneas en blanco)
2. Una lista de instrucciones que no sean del tipo On E:Exception do ...

ó

3. Una lista de instrucciones del tipo On E:Exception do ...

Pero no puedes tener una lista de instrucciones mezclando los del tipo 2 y 3 que es justamente lo que has hecho en tu ejemplo y por eso el compilador se queja.

Para solucionarlo en lugar de:

   except
     Log('Error en activar ProSerNeg1.');
     On E :Exception do
     begin ShowMessage(E.Message); end;
   end;

Intenta esto:

   except
     On E :Exception do
     begin
      Log('Error en activar ProSerNeg1.');
         ShowMessage(E.Message);
     end;
   end;

saludos.

Jesus Reyes A.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170622/0766227d/attachment.html>

Reply by email

Gastón Dall' Oglio
to hfiandor: Estimado Reyes: Ante t.odo, le devuelvo mis saludos y mis mejores deseos para usted y su…

Buen día a todos.

Muy interesate Jesus la página a la que apuntas.
Por lo que veo en la gramática, existiría una forma de mezclar instrucciones del tipo 3 y luego 2, que seria colocando primero los handlers de los tipos de excepciones, y al final un "else" con instrucciones, que se ejecutarían si el tipo de la excepción no coincidio con ninguno de los handlers anteriores. No conocía esa alternativa, que parece ser muy útil.

Saludos, que tengan buen día.

El 22 de junio de 2017, 10:04, hfiandor via Lazarus-es <

lazarus-es en lists.lazarus-ide.org> wrote 28 lines
Estimado Reyes: Ante t.odo, le devuelvo mis saludos y mis mejores deseos para usted y su familia. Como siempre, su respuesta es una lección. Ahora mismo voy a cambiar las instrucciones. Un millón de gracias a todos. Saludos Hfiandor _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus-es

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170622/fed04512/attachment.html>

Reply by email

hfiandor
to Jesus Reyes A.: En Wed, 21 Jun 2017 18:30:33 -0500, hfiandor via Lazarus-es Hola Héctor, primero que…

Estimado Reyes:

Ante t.odo, le devuelvo mis saludos y mis mejores deseos para usted y su familia.

Como siempre, su respuesta es una lección. Ahora mismo voy a cambiar las instrucciones.

Un millón de gracias a todos.

Saludos

Hfiandor

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170622/f32f338c/attachment.html>

Reply by email