2009-12-08

Excepções, parte II (vários tipos de erros)

No último post falei de excepções e das instruções fornecidas por linguagens de alto-nível para as manipular. Neste vou falar das situações em que estas surgem e como devem ser tratadas.

2009-12-02

Excepções, parte I (de códigos de erro a excepções)

Códigos de erro

Em C há muitas funções que devolvem valores especiais para indicar erros. Esta estratégia, embora simples, apresenta vários defeitos:

  1. o tipo de dados de retorno não pode ser usado por completo;
  2. o código que chama estas funções é bastante chato de escrever e difícil de ler (são necessário ifs por todo o lado);
  3. é fácil esquecermo-nos de testar os valores de retorno;
  4. é trabalhoso propagar estes erros manualmente pela stack acima;

2009-12-01

Usar locks explícitas, correctamente

Por vezes synchronized não serve e temos de usar locks explicitamente. No entanto, quando abandonamos a simplicidade de synchronized, também abandonamos as suas garantias de segurança e robustez.