ok, a excessao é lançada mas o codigo nao para…
preciso fazer que o codigo pare, estou criando essa Exception
para impedir de criar mais de 7 Colunas de um Relatorio que
desenvolvi em Modo Texto, pois mais de 7 colunas ultrapassa o
tamanho da folha…
Dá para usar a saída de emergência e chamar “System.exit()”. Não é impossível.
Mas…porque é que você quer chamar “System.exit()” no meio de seu programa, sem tratar direito o que está acontecendo? Acho que deveria ter um pouco mais de cuidado (fechar todos os arquivos que forem necessários, etc.)
keller
um System.exit(); finalizaria a aplicação e não é isso que eu gostaria de fazer…
eu gostaria de lançar uma Exception e impedir o programa de continuar tipo um… voltaProInicioSeuTansoMaisDeSeteColunasNaoPode(); :lol:
B
BrunoCarlo
Olá.
Seguinte, declare que seu método “gerarRelatorio” lançe uma exception:
public...gerarRelatorio()throwsException
assim voce pode tirar o try/cacth, ou deixa-lo se for importante para ver se na geração acontece algo que voce pode prever mas quer controlar. se o relatorio ultrapassar o numero de colunas que voce quer lance a exception, mas se tiver o try/cacth relance, assim
try{
...
if(colunas>7){
throw new Exception("Mais de 7 colunas");
}
}catch(Exception e){
throw e;
}
voce ainda pode colocar um finally para finalizar algo, como citou o poste anterior…
valeu
keller
publicvoidmetodoQueVaiDarErro()throwsException{try{thrownewException("CollumnOutOfBoundsException");}catch(Exceptionex){throwex;}}publicvoidesseMetodoNaoVaiSerExecutado(){System.out.println("testando as exceptions");}
agora o metodo que vai dar erro tem que ficar dentro de um bloco de try e catch ai beleza!