Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
throw
|
throw ( errorCode {; descrição} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
errorCode | Inteiro longo |
![]() |
Um inteiro longo representando o código de erro | |||||
descrição | Texto |
![]() |
Um texto fornecendo uma descrição do erro | |||||
throw {( erroObj )} | ||||||||
Parâmetro | Tipo | Descrição | ||||||
erroObj | Objeto |
![]() |
Um objeto contendo propriedades para construir o erro | |||||
O comando throw cria um erro que será lançado inmediatamente ou quando o método que o chamar o devolva a seu chamador (modo diferido).
Quando se encuentrar com uma situação em seu código 4D em que surja uma condição de erro, pode utilizar o comando throw para lançar explícitamente um erro e dar uma mensagem de erro específica ou um número de erro. Isso pode ser útil para assinalar condições excepcionais ou entradas inválidas.
Os erros lançados utilizando o comando throw são gestionados pelo runtime de 4D como qualquer erro normal: se mostrar o diálogo de erro padrão a menos que se tenha instalado um método de intercepção utilizando o comando ON ERR CALL.
O comando admite três sintaxes:
Especifica o código de erro e um texto de descrição opcional, o erro se lança imediatamente.
Se não indicar nenhuma descrição, se preenche com:
O objeto errorObj permite obter informação de erro mais detalhada e controlar a gestão de erros. Pode conter as seguintes propriedades, assim como toda propriedade personalizada à que possa fazer referência à propriedade message.
Pode conter as seguintes propriedades, assim como toda propriedade personalizada a que possa fazer referência utilizando marcadores de posição dentro da propriedade message.
propriedade | tipo | descrição |
componentSignature | text | Assinatura de quatro letras para identificar de forma única a origem do erro.
|
errCode | number | Código de erro.
|
message | text | Descrição do erro.
|
deferred | boolean | True se o erro deve diferir-se quando voltar o método atual. O valor por padrão é false. |
Quando se utilizar esta sintaxe, o objeto errorObj se devolve em Últimos erros.
Nota: é possível chamar o comando várias vezes no mesmo projeto para gerar vários erros. Pode usar a opção diferida para enviar todos os erros de vez.
Lança todos os erros atuais em modo diferido, o que significa que se adicionarão a uma pilha e serão geridas quando voltar ao método que os chama. Isso se faz tipicamente desde dentro de uma retrochamada ON ERR CALL.
var $code : Integer
var $description : text
$code:=50042 //Código personalizado
$description:=“This is a custom error”
throw($code ;$description) // Lança um erro com a mensagem "This is a custom error" e errCode = 50042
throw({errCode: 1; message: "This an error"}) // Lança um erro com a mensagem errCode = 1 e a mensagem "This an error"
throw({errCode: 1}) // Lança um erro com errCode = 1 e a mensagem "Error code: 1 (host)"
throw({message: "This an error"}) // Lança um erro com errCode = -1 e a mensagem "This is my error"
throw({message: "This is my error"; deferred: True}) // Lança um erro com a mensagem "This is my error" e errCode = -1 em modo diferido
throw({componentSignature: "xbox"; errCode: 600; name: "myFileName"; path: "myFilePath"; deferred: True})
// Lança um erro com a mensagem "File myFileName not found (myFilePath)" em modo diferido.
Produto: 4D
Tema: Interrupções
Número
1805
Criado por: 4D v20 R2
Modificado: 4D v20 R5
Manual de linguagem 4D ( 4D v20 R7)