Sobes.tech
Junior

Para que é que é utilizado o operador assert na linguagem de programação Java?

sobes.tech IA

Resposta da IA

O operador assert é utilizado para verificar afirmações (estados) durante o desenvolvimento e testes. Destina-se a detectar erros internos no programa que não devem ocorrer na execução correta do código.

Sintaxe de assert:

  1. assert expressão; - Se expressão for falsa, será lançada uma AssertionError.
  2. assert expressão : mensagem; - Se expressão for falsa, será lançada uma AssertionError com a mensagem especificada.

O principal objetivo do assert:

  • Verificação de invariantes - condições que devem ser sempre verdadeiras.
  • Verificação de pré-condições - condições que devem ser verdadeiras antes de executar um método ou bloco de código.
  • Verificação de pós-condições - condições que devem ser verdadeiras após a execução de um método ou bloco de código.

Por padrão, as afirmações estão desativadas. Para ativá-las, usa-se a opção -enableassertions (-ea) ou -disableassertions (-da) ao iniciar a JVM.

Importante: assert não deve ser usado para validar dados de entrada do utilizador nem para lidar com situações excecionais esperadas, pois pode ser desativado. Para isso, usam-se outros mecanismos (por exemplo, exceções).

Exemplo de uso:

public class Example {

    public void process(int value) {
        // Pré-condição: value não pode ser negativo
        assert value >= 0 : "Value must be non-negative";

        // Lógica adicional para processar value
        // ...
    }

    public static void main(String[] args) {
        Example example = new Example();
        // Esta chamada lançará AssertionError se as afirmações estiverem ativadas
        example.process(-5);
    }
}