4D v16.3

ASSERT

Página Inicial

 
4D v16.3
ASSERT

ASSERT 


 

ASSERT ( expressaoBool {; mensagemTexto} ) 
Parâmetro Tipo   Descrição
expressaoBool  Booleano in Expressão Booleana
mensagemTexto  Texto in Texto de mensagem de erro

O comando ASSERT  avalia a expressão boolExpression passa no parâmetro e, se retornar falso, para a execução do código com uma mensagem de erro .O comando funciona em modo interpretado e compilado.

Se boolExpression for verdadeiro, nada acontece. Se for falso, o comando ativa o erro  -10518 e exibe como padrão o texto da asserção preceidade pela mensagem  "Assert failed:". Pode interceptar este erro via um método instalado usando o comando  ON ERR CALL, por exemplo para oferecer informação para um arquivo de log.

Opcionalmente, pode pasar um parâmetro messageText para exibir uma mensagem de erro personalizada ao invés do texo da asserção. 

Uma asserção é uma instrução inserida no código que é responsável por detectar qualquer anomalia durante sua execução. O princípio consiste em verificar que uma expressão seja verdadeira em um dado momento e, caso não seja verdadeira, causar uma exceção. Asserções são usadas principalmente para detectar casos que nunca deveriam acontecer, principalmente para detectar bugs de programação. É possível ativar ou desativar globalmente3 todas as asserções de um aplicativo (por exemplo de acordo com o tipo de versão) via o comando SET ASSERT ENABLED . Para saber mais sobre asserções em programação, veja o artigo na Wikipedia: http://en.wikipedia.org/wiki/Assertion_(computing)

Antes de realizar operações em um registro, o desenvolvedor deseja ter certeza de que está carregado em modo leitura/escritura:

 READ WRITE([Tabela 1])
 LOAD RECORD([Tabela 1])
 ASSERT(Not(Locked([Tabela 1])))
  // dispara o erro -10518 se o registro está bloqueado

Uma asserção permite provar os parâmetros passados a um método de projeto para detectar os valores aberrantes. Neste exemplo, é utilizado uma mensagem de alerta personalizado.

  // Método que retorna o número de um cliente em função de seu nome passado em $1
 C_TEXT($1// Nome do cliente
 ASSERT($1#"";"Pesquisa de um nome de cliente vazio")
  // Um nome vazio neste caso é um valor aberrante
  // Se a asserção é falsa, se mostrará na caixa de diálogo o erro:
  // "Asserção falhou: pesquisa de um nome de cliente vazia"



Ver também 

Asserted
Get assert enabled
SET ASSERT ENABLED

 
PROPRIEDADES 

Produto: 4D
Tema: Interrupções
Número 1129

Este comando modifica a variável sistema ErrorThis command can be run in preemptive processes

 
HISTÓRIA 

Criado por: 4D v12

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)