Dando continuidade bloco try/catch depois de gerar exception[RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
jeloy
Debugger
[Avatar]

Membro desde: 05/01/2011 11:05:55
Mensagens: 60
Offline

Boa noite!

Estou com uma duvida besta eu acho hehe...

tenho um loop for onde eu percorro um array executando metodos para cada um deles...

dentor do loop tem um bloco/trycatch. Quando ocorre uma exception em 1 item do array ele para de fazer o loop.

Eu gostaria que se desse uma exception ele continuasse na prox array!

como eu faria isso?


segue minha classe

This message was edited 1 time. Last update was at 09/02/2011 08:37:37

[Email] [MSN]
d34d_d3v1l
GUJ Ranger
[Avatar]

Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Online

finally?
discorpio
Virtual Machine Man
[Avatar]
Membro desde: 06/02/2010 18:46:46
Mensagens: 547
Localização: Rio de Janeiro
Offline

Boa noite a todos.

Que tal voce utilizar o finally assim:



O bloco finally é um bloco protegido que garante a execução do programa havendo exceção ou não e a instrução continue desvia o fluxo de execução para a próxima interação do loop for

This message was edited 3 times. Last update was at 04/02/2011 22:40:50


O Senhor é meu Pastor e nada me faltará. (Sl. 23:01)
[MSN]
d34d_d3v1l
GUJ Ranger
[Avatar]

Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Online

perfeita explicação discorpio ... Obrigado por contribuir,

e peço desculpas se minha resposta foi um tanto quanto inútil =x

abraços
jeloy
Debugger
[Avatar]

Membro desde: 05/01/2011 11:05:55
Mensagens: 60
Offline

Muito bom, as vezes meio besta pra uns hehe....

@d34d_d3v1l valeu sua resposta nao foi inutil nao hehe


outra coisa, eu fiz o teste aqui e deu certo...

porém nao tem como eu pegar quais posições deram certo e quais não deram?

This message was edited 1 time. Last update was at 04/02/2011 23:30:23

[Email] [MSN]
discorpio
Virtual Machine Man
[Avatar]
Membro desde: 06/02/2010 18:46:46
Mensagens: 547
Localização: Rio de Janeiro
Offline

d34d_d3v1l wrote:perfeita explicação discorpio ... Obrigado por contribuir,

e peço desculpas se minha resposta foi um tanto quanto inútil =x

abraços


Olá d34d_d3v1l

Não achei a sua resposta inútil. Curta ou pequena talvez, mas não inútil.

Lembre-se de que as grandes profecias, poesias, frases já proferidas por personagens da história antiga, média, moderna e conteporânea, não são aquelas que estão em extensas palavras e frases. mas sim são aquelas que apesar de curtas, expressam uma grande profundidade de sentimentos.

Você quer um exemplo.

Socrátes wrote:
Eu só sei que nada sei....
[MSN]
discorpio
Virtual Machine Man
[Avatar]
Membro desde: 06/02/2010 18:46:46
Mensagens: 547
Localização: Rio de Janeiro
Offline

jeloy wrote:Muito bom, as vezes meio besta pra uns hehe....

@d34d_d3v1l valeu sua resposta nao foi inutil nao hehe


outra coisa, eu fiz o teste aqui e deu certo...

porém nao tem como eu pegar quais posições deram certo e quais não deram?


Olá Jeloy.

Neste caso voce terá que colocar dentro do bloco try....catch um outro tratamento de exceção que é o IOException, que reporta erro no caso de haver um erro com FileInputStream.



Eu posso fazer mais de um tratamento de exceção dentro do bloco try...catch

Sim. Eis o exemplo.



Não se esqueça de que o bloco finally continua mesmo assim garantindo a execução do código mesmo que tenha mais de uma exceção tratada e ao contrário dos blocos "catch" voce só pode ter um bloco "finally" por cada par de bloco try

Existem também outras exceções que voce pode tratar no código acima, que são "NullPointerException" e o "FileNotFoundException".

Todas estas classes de exceção herdam (Extends) de Exception

This message was edited 2 times. Last update was at 05/02/2011 00:04:50


O Senhor é meu Pastor e nada me faltará. (Sl. 23:01)
[MSN]
dudaskank
GUJ Ranger
[Avatar]
Membro desde: 12/09/2003 14:59:26
Mensagens: 850
Localização: Suzano, SP, Brasil
Offline

Bom, na verdade você não precisa daquele finally ali, pois em seguida do try ele já volta para o laço for. Aliás, não precisa de dois try seguidos. O que deve estar acontecendo no seu caso é aquele trecho fora do try {} catch() {} que deve estar causando algum problema. Coloque ele pra dentro do bloco try.



Para você saber quais índices deram problema, você captura as Exceptions e trata-as adequadamente, e aproveita e adiciona o índice em uma lista. Fiz um exemplo aqui, ele tem o laço for e dentro o try/catch, e depois mostra quais deram errado depois.



A saída que tive foi assim:



abraços e boa sorte

Eduardo Oliveira

Toque a balada do amor inabalável, eterna love song de nós dois...

Página
[WWW]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team