[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
RE: Eu odeio Interface
- Subject: RE: Eu odeio Interface
- From: Francisco Reverbel <reverbel at ime.usp.br>
- Date: Mon, 31 May 1999 15:27:01 -0300
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