| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 22:19:56
|
jeloy
Debugger
![[Avatar]](/images/avatar/ef1dc416e22dd93120421fab1a338f31.jpg)
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 22:25:59
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
Membro desde: 17/03/2010 12:08:14
Mensagens: 895
Online
|
finally?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 22:36:40
|
discorpio
Virtual Machine Man
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) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 22:40:41
|
d34d_d3v1l
GUJ Ranger
![[Avatar]](/images/avatar/34b5c53bbef2ba5ad2186dc720b0e503.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 22:49:22
|
jeloy
Debugger
![[Avatar]](/images/avatar/ef1dc416e22dd93120421fab1a338f31.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 23:23:35
|
discorpio
Virtual Machine Man
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....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/02/2011 23:50:15
|
discorpio
Virtual Machine Man
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.
Ué
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) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/02/2011 01:24:27
|
dudaskank
GUJ Ranger
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 |
|
|
 |
|
|