[EP08] - Tratamento de Erros

[EP08] - Tratamento de Erros

por Daniela Gonzalez Favero -
Número de respostas: 1

Olá!

Temos lançado exceções para tratar funções quem chamam argumentos como NULL em Java.

Precisamos tratar essas exceções no EP08? Se sim, de que forma?

Em resposta à Daniela Gonzalez Favero

Re: [EP08] - Tratamento de Erros

por José Coelho de Pina -

Oi Daniela,

Precisamos tratar essas exceções no EP08?

Não.

Se sim, de que forma?

Entretanto, eu gosto de colocar testes no início de cada função.
Por exemplo:

void  
put(BinarySearchST st, const void *key, size_t nKey, const void *val, size_t nVal)
{
    if (st == NULL) {
        ERROR("put(): argument ST is null");
        return;
    }
    if (key == NULL) {
        ERROR("put(): argument KEY is null");
        return;
    }
    
    [...]

}

Gosto que o programa grite surpreso assim que ocorreu algo estranho  surpreso e não simplesmente exploda na minha cara  triste com uma linha escrita `segmentation fault`.

Com ponteiros, muitas vezes, quando o programa explode em algum ponto o erro, na verdade, foi a "long long time ago in a galaxy far far away..." olho roxo