Usina BRGuía AdvPL
Ingresar
← Todos los temas
GUíA PRáCTICAEn revisión

Tratamiento de errores con BEGIN SEQUENCE y RECOVER

Controla interrupción y recuperación del flujo.

Tratamiento de errores con BEGIN SEQUENCE y RECOVERAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

BEGIN SEQUENCE delimita instrucciones; Break desvía a RECOVER y USING recibe expresión enviada. El ejemplo usa Break explícito con marcador ficticio. Redirigir errores requiere tratamiento compatible como ErrorBlock que llama Break; secuencia no captura automáticamente toda falla fatal. Guarde/restaure ErrorBlock anterior y evite RETURN que omita limpieza. Recuperar flujo no revierte transacción ni libera bloqueos/recursos automáticamente; corresponde al propietario. (Fuentes: refs. 1–1.)

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

#Include "Protheus.ch"

User Function Ed696()
    Local xError
    Begin Sequence
        // Marcador ficticio demuestra desvío sin provocar error de datos.
        Break("ED696")
    Recover Using xError
        ConOut("Recuperacion: "+cValToChar(xError))
    End Sequence
Return Nil
Resultado esperado

Muestra Recuperacion: ED696 según flujo propuesto. No demuestra captura fatal ni rollback. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • No silencie fallos devolviendo éxito. Preserve diagnóstico sin secretos y pruebe limpieza ante errores.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. BEGIN SEQUENCE ... END. Break, Recover Using e ErrorBlock. Consulta el 2026-10-28.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha