FIquei com a seguinte dúvida na resposta sobre essa pergunta
publicclassThreads2implementsRunnable{publicvoidrun(){System.out.println("run.");thrownewRuntimeException("Problem");}publicstaticvoidmain(String[]args){Threadt=newThread(newThreads2());t.start();System.out.println("End of method.");}}
Qual pode ser o resultado?
a resposta correta é:
D. End of method.run.java.lang.RuntimeException: Problem
E. run.java.lang.RuntimeException: ProblemEnd of method.
A resposta D blz, agora a resposta E não entendi, quando lança uma Excpetion como não tem nenhum Try Catch a aplicação não seria encerrada? e ali ainda imprimiu o End of method que está no final da aplicação
Se você tem uma única thread no programa, digamos a main, faz todo sentido que se uma exceção é lançada e não é tratada, o programa termine.
Mas pense que você pode ter múltiplas threads executando simultaneamente. Imagina que ocorre exceção em alguma delas. Você certamente não vai querer que esta exceção se propague para todas as outras threads.
É o que ocorre neste caso; a exceção é lançada na thread que seu programa cria, mas não se propaga para a outra thread main.
Andre_Fonseca
brunorota:
Olá galera
FIquei com a seguinte dúvida na resposta sobre essa pergunta
publicclassThreads2implementsRunnable{publicvoidrun(){System.out.println("run.");thrownewRuntimeException("Problem");}publicstaticvoidmain(String[]args){Threadt=newThread(newThreads2());t.start();System.out.println("End of method.");}}
Qual pode ser o resultado?
a resposta correta é:
D. End of method.run.java.lang.RuntimeException: Problem
E. run.java.lang.RuntimeException: ProblemEnd of method.
A resposta D blz, agora a resposta E não entendi, quando lança uma Excpetion como não tem nenhum Try Catch a aplicação não seria encerrada? e ali ainda imprimiu o End of method que está no final da aplicação
Se alguém puder me ajudar ^^
Atenciosamente
oi,
RuntimeException é uma unchecked exception, não é necessário o tratamento usando o try catch
D. End of method.run.java.lang.RuntimeException: Problem
E. run.java.lang.RuntimeException: ProblemEnd of method.
Olá amigos, por favor me corrijam se estiver errado!
Nesse programa também não seria possível a saída:
run.
End of method.
java.lang.RuntimeException:
Problem
Abs.
brunorota
sim poderia sim
é que nas respostas é a saída que PODE sair entendeu, não é todas as possíveis, nas respostas soh colocaram essas duas
^^
G
gervas-IO
legal!
Adelar
gervas-IO:
a resposta correta é:
D. End of method.run.java.lang.RuntimeException: Problem
E. run.java.lang.RuntimeException: ProblemEnd of method.
Olá amigos, por favor me corrijam se estiver errado!
Nesse programa também não seria possível a saída:
run.
End of method.
java.lang.RuntimeException:
Problem
Abs.
Na verdade aquelas respostas são apenas simbólicas e não representando a saída real. Até mesmo os “\n” foram retirados… Uma questão desta poderia assim ser válida, por exemplo para um exame? :?
Att.
brunorota
Creio eu que sim
Até porque essa pergunta é do TestKiller e muita gente fala que o TestKiller é praticamente uma cópia do exame real hehehe