Java 扑克游戏中未处理的异常
我有一个由多个部分组成的程序(2个java文件),应该做两件事:Java 扑克游戏中未处理的异常,java,exception-handling,unhandled-exception,poker,playing-cards,Java,Exception Handling,Unhandled Exception,Poker,Playing Cards,我有一个由多个部分组成的程序(2个java文件),应该做两件事: 制作一副牌(洗牌、发牌、重设) 创建一个扑克游戏(制作两副牌,其他东西…) 由于这个未处理的异常错误,我遇到了一个障碍,我甚至不知道它来自哪里。错误图片如下,源代码如下 扑克牌例外类 class PlayingCardException extends Exception { /* Constructor to create a PlayingCardException object */ PlayingCa
class PlayingCardException extends Exception {
/* Constructor to create a PlayingCardException object */
PlayingCardException (){
super ();
}
PlayingCardException ( String reason ){
super ( reason );
}
}
甲板等级
/**类牌组表示:n副扑克牌
*使用类卡构造n*52张扑克牌!
*
*不要添加新的数据字段!
*不要修改任何方法
*您可以添加私有方法
*/
类组{
/*这用于跟踪原始n*52卡*/
私人名单原件;
/*这从原始牌组的n*52张牌组开始*/
/*它用于跟踪要处理的剩余卡*/
/*请参阅reset():它将DealDealDeck重置为全甲板*/
私人名单;
/*此对象中的甲板数*/
私人国际号码;
/**
*构造器:在中创建n副扑克牌(每副52张)
*原始设计并复制到DealDeck。
*初始化numberdocks=n
*注意:您需要从卡构造函数捕获PlayingCardException
*将ArrayList同时用于originalDecks和DealDealDeck
*@抛出PlayingCardException
*/
公共甲板(int n)抛出PlayingCardException
{
//实施这个方法!
this.originalDecks=新的ArrayList();
this.dealDecks=newArrayList();
int i,j,k;
numberdocks=n;
对于(k=0;k此选中的异常将在Decks类的构造函数中声明
public Decks(int n) throws PlayingCardException
让构造函数抛出异常不是一个好主意
你确定构造函数中的代码会抛出这个异常吗
尝试将此代码移动到可以在主代码中调用的另一个方法。此选中的异常正在Decks类的构造函数中声明
public Decks(int n) throws PlayingCardException
让构造函数抛出异常不是一个好主意
你确定构造函数中的代码会抛出这个异常吗
尝试将此代码移动到可以在主代码中调用的另一个方法。构造函数所做的声明是PlayingCardException
是一个。这意味着您必须捕获它
既然您试图将其用作静态字段,为什么还要麻烦将其设置为已检查异常呢?请将其扩展为RuntimeException,如果它出现,您就不必在任何时候强制检查它。这样,您就可以按自己的方式进行静态初始化。声明是您的缺点卡车司机正在做的是PlayingCardException
是一个。这意味着你必须抓住它
既然您试图将其用作静态字段,为什么还要麻烦将其设置为已检查异常呢?请将其扩展为“RuntimeException”(运行时异常),如果它出现,您不必在任何时候强制检查它。这样,您就可以按您希望的方式进行静态初始化。您是否正在处理该异常在in main()上?可以显示主代码吗?请阅读。从工厂类构造对象是一种常见的模式,该类设置值。DeckFactory包含工厂中用于用卡填充甲板的逻辑。如果需要新甲板,请调用DeckFactory.createNewDeck(int n);是否在main()中处理异常?您能显示主代码吗?请阅读。从工厂类构造对象是一种常见的模式,该类设置值。DeckFactory包含在工厂中用卡片填充卡片的逻辑。当您需要新的卡片组时,请调用DeckFactory.createNewDeck(int n);如果我删除“throws PlayingCardException”从构造函数中,我在尝试制作新卡(I,j)时收到一个未处理的异常错误;因此可能会捕获(和处理)构造函数中的异常-不要重新抛出它。通常你应该使用try-catch块来处理构造函数中的异常。啊哈!太好了!try-catch块清除了一切。我使用IDE的建议在方法中添加一个“throws-PlayingCardException”,这是个坏主意。谢谢。如果我删除从构造函数中“抛出PlayingCardException”,我在尝试制作新卡(I,j)时遇到一个未处理的异常错误;因此可能会捕获(并处理)构造函数中的异常-不要重新抛出它。通常你应该使用try-catch块来处理构造函数中的异常。啊哈!太好了!try-catch块清除了一切。我是根据IDE的建议在方法中添加一个“throws-PlayingCardException”,这是个坏主意。谢谢。