assert
é uma macro ou função utilizada para verificar condições que devem ser verdadeiras em tempo de execução. Se a condição falhar, o programa geralmente é encerrado, e uma mensagem de erro é exibida. É uma ferramenta útil para depuração, garantindo que certas condições sejam atendidas durante o desenvolvimento.
assert
em C++ e CEm C++ e C, assert
é uma macro definida no cabeçalho <cassert>
(C++) ou <assert.h>
(C). Ela é usada principalmente para validar suposições em tempo de execução e pode ser desativada em código de produção definindo a macro NDEBUG
.
assert
deve ser usado principalmente para depuração. Em código de produção, é comum desativá-lo para melhorar o desempenho.
Neste exemplo, assert(b != 0)
garante que o divisor nunca seja zero. Se y
for zero, a execução será interrompida com uma mensagem de erro.
O funcionamento é o mesmo do exemplo em C++, pois assert
em C é também usado para verificar a validade das condições em tempo de execução.
assert
em PythonEm Python, assert
é uma declaração nativa da linguagem que funciona de forma semelhante. Se a condição for falsa, uma exceção AssertionError
é lançada. Assim como em C/C++, os asserts
podem ser desativados no ambiente de produção utilizando a flag -O
(optimize, python -O script.py
) ao executar o script.
Nesse exemplo: assert b != 0
verifica se b
é diferente de zero. Se y
for zero, um AssertionError
será levantado com a mensagem “Divisor não pode ser zero!”, se você não usar assert
ou se usar o parâmetro: -O
como mencionado, a saída de erro será diferente.
Existem muitas implementações de assert
principalmente em softwares que fazem testes unitários, é uma ferramenta poderosa para evitar falhas!
cpp cppdaily linguagemc python