assert
Gera um erro se uma condição for falsa.
Categoria: Programming > Functions
Sintaxe
assert(cond)
Gera o erro Assertion failed. a menos que todo elemento de cond seja verdadeiro.
assert(cond, msg, A1, ..., An)
Gera erro com a mensagem msg, formatada como sprintf, quando a condição falha.
Descrição
assert documenta suposições e interrompe cedo quando alguma é violada, o que é mais fácil de depurar do que um resultado errado várias linhas depois. Uma condição não escalar passa apenas se todos os elementos forem verdadeiros, então assert(all(x > 0)) pode ser escrito como assert(x > 0). Quando a condição é verdadeira, a chamada não faz nada.
O MATLAB também aceita as formas assert(actual, expected) e assert(actual, expected, tol), que comparam valores, e um identificador antes da mensagem.
Argumentos de entrada
cond- Array lógico ou numérico. A verificação passa quando todos os elementos são diferentes de zero.
msg- Mensagem de erro, com campos de formato de
sprintf. A1, ..., An- Valores para os campos de formato.
Exemplo
Uma verificação que falha com mensagem formatada
x = [3 -1 2];
try
assert(all(x > 0), 'Found %d non-positive values', sum(x <= 0));
catch err
disp(err.message)
end
assert(true)
Found 1 non-positive values
Observações
O MatLivre implementa apenas as formas com condição. As formas de comparação (actual, expected, tol) não são suportadas: o segundo argumento é sempre lido como mensagem. Um identificador dado antes da mensagem não é separado dela, então o erro fica sem identificador.