Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
throw
|
throw ( errorCode {; descripcion} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
errorCode | Entero largo |
![]() |
Un entero largo que representa el código de error. | |||||
descripcion | Texto |
![]() |
Texto que describe el error. | |||||
throw {( errorObj )} | ||||||||
Parámetro | Tipo | Descripción | ||||||
errorObj | Objeto |
![]() |
Un objeto que contiene propiedades para construir el error | |||||
El comando throw crea un error que será lanzado inmediatamente o cuando el método que lo llama devuelva a su llamador (modo diferido).
Cuando se encuentre con una situación en su código 4D en la que surja una condición de error, puede utilizar el comando throw para lanzar explícitamente un error y dar un mensaje de error específico o un número de error. Esto puede ser útil para señalar condiciones excepcionales o entradas inválidas.
Los errores lanzados utilizando el comando throw son gestionados por el runtime de 4D como cualquier error normal: se muestra el diálogo de error estándar a menos que se haya instalado un método de intercepción utilizando el comando ON ERR CALL.
El comando admite tres sintaxis:
Especifica el código de error y un texto de descripción opcional, el error se lanza inmediatamente.
Si no se indica ninguna descripción: se llena con:
El objeto errorObj permite obtener información de error más detallada y controlar la gestión de errores. Puede contener las siguientes propiedades, así como toda propiedad personalizada a la que pueda hacer referencia la propiedad message.
Puede contener las siguientes propiedades, así como toda propiedad personalizada a la que pueda hacer referencia utilizando marcadores de posición dentro de la propiedad message.
propiedad | tipo | descripción |
componentSignature | text | Firma de cuatro letras latinas para identificar de forma única el origen del error.
|
errCode | number | Código de error.
|
message | text | Descripción del error.
|
deferred | boolean | True si el error debe diferirse cuando vuelva al método actual o al final del Try block. El valor por defecto es false. |
Cuando se utiliza esta sintaxis, el objeto errorObj se devuelve en Últimos errores.
Nota: es posible llamar al comando varias veces en el mismo método proyecto para generar varios errores. Puede utilizar la opción diferido para enviar todos los errores a la vez.
Lanza todos los errores actuales en modo diferido, lo que significa que se añadirán a una pila y se gestionarán cuando vuelva el método que los llama. Esto se hace típicamente desde dentro de una retrollamada ON ERR CALL.
var $code : Integer
var $description : text
$code:=50042 //Código personalizado
$description:=“This is a custom error”
throw($code ;$description) // Lanza un error con el mensaje "This is a custom error" y errCode = 50042
throw({errCode: 1; message: "This an error"}) // Lanza un error con el mensaje errCode = 1 y mensaje "This an error"
throw({errCode: 1}) // Lanza un error con errCode = 1 y el mensaje "Error code: 1 (host)"
throw({message: "This an error"}) // Lanza un error con errCode = -1 y el mensaje "This is my error"
throw({message: "This is my error"; deferred: True}) // Lanza un error con el mensaje "This is my error" y errCode = -1 en modo diferido
throw({componentSignature: "xbox"; errCode: 600; name: "myFileName"; path: "myFilePath"; deferred: True})
// Lanza un error con el mensaje "File myFileName not found (myFilePath)" en modo diferido.
Producto: 4D
Tema: Interrupciones
Número
1805
Creado por: 4D v20 R2
Modificado: 4D v20 R5
Manual de lenguaje 4D ( 4D v20 R7)