[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Eu odeio Interface



Andrei Goldchleger writes:

 > Esta interface esta causando problemas....Por exemplo, se eu tenho
 > metodos de objetos que lancam determinadas excecoes, como fazer uma
 > interface ???? Por exemplo, um objeto contem campos string, int e class.
 > Como ele implementa a dbobject, tem que lanvar utf....exception.Mas, se
 > o read object, por exemplo, lancar uma outra excecao, o thwrow desse
 > metodo ja sera diferente do throw do metodo equivalente na
 > interface????O quefazer??>? dar catch nas excecoes dentro dos metodos q
 > lancam coisas diferentes que a interface???

Isso mesmo. Na maioria (quase totalidade?) dos casos voce pode dar catch
na exceção e encerrar o programa, pois a exceção corresponde a uma
situação inconsistente, que não deveria acontecer, ou a um erro físico
de entrada/saída. Para encerrar o programa de dentro do catch execute
algo como 

     throw new Error("meu mundo caiu...");

Acima eu disse "quase totalidade" porque posso tambem ter esquecido de
colocar algum throws numa interface. Um eu sei que esqueci (e comentei
em classe): os métodos exactMatchQuery e rangeQuery deveriam lançar a
exceção NoSuchFieldException. Num caso como esse voces podem (devem)
corrigir a definição da interface, adicionando a cláusula throws
faltante. Por favor me avisem se encontrarem outros casos assim.

Reverbel