我正在使用NetBeans在Java中玩纸牌游戏。我找到了一个IndexOutOfBounds错误,我修复了,但后来我考虑尝试一些错误处理。 所以我玩try和catch,并抛出新的...然后我看着抛出异常直到调用方法。 所以我添加了抛出异常:
public Card getCard(int position) throw Exception
{
return hand.get(position);
}
这要求我在所有调用getCard()的方法中处理异常,这不是我想要的。所以我删除了它。但现在我无法运行该程序,我得到了:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source
code - unreported exception java.lang.Exception; must be caught or declared
to be thrown
at Games.Cards.Cribbage.CompHandPicker.pickHand(CompHandPicker.java:32)
at Games.Cards.Cribbage.Main_Game.main(Main_Game.java:44)
C:\Users\hugh_\AppData\Local\NetBeans\Cache\8.2\executor-
snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)
我认为它正在寻找抛出的异常。 我该怎么办?
编辑:乱码之后,我的代码又回到了它开始时的样式(但是使用a -1来避免IndexOutOfBoundsException)并且突然之间它的工作原理。我真的不知道改变了什么或为什么改变了。