Tratando exceções

2 respostas
X

Opa,
estou com um problema para tratar uma exceção. O contexto é o seguinte,
um jogador só pode jogar se for a vez dele, se eu mando ele jogar na vez que não é ele, o software “quebra”,
como poderia tratar essa exceção?

segue abaixo o Failure Trace.

java.lang.NullPointerException at modelo.Mesa.compararCartas(Mesa.java:28) at modelo.Mesa.receberCarta(Mesa.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

2 Respostas

Andre_Brito

Você pode usar umthrow new SuaException("Não é a vez do jogador.");se não for a vez dele. Aí quando você estiver jogando, coloca um try catch, pra poder tratar o erro.

Se você quiser que o jogo não seja interrompido, deve tacar o try catch (de toda a aplicação dentro de um while), como são feitos os jogos de pc (while true {…}).

Acho que não entendi bem a sua dúvida.

Vmaia

de uma olha da sobre try… catch

Exemplo

try{//codigo onde ocorre a exceção String s = null; s.tostring(); } catch(Exception e){ //trata exceção }

Nos artigos do GUJ deve ter coisas para lhe ajudar :slight_smile:
Boa noite :stuck_out_tongue:

Criado 26 de junho de 2010
Ultima resposta 26 de jun. de 2010
Respostas 2
Participantes 3