Java 需要添加3个自定义异常类

Java 需要添加3个自定义异常类,java,class,exception,Java,Class,Exception,我已经做了一个Tictatcoe游戏,在某种程度上,我仍然在熨烫程序中的最后几个纠结。我想添加3个客户异常类,它们是incorrecentryexception、playeroutofturnseception和stallateexception。当用户在游戏界面中输入X或O以外的字符时,必须抛出IncorrecentryException;当用户试图在系统预期的情况下播放X和O(或反之亦然)时,必须引发PlayerAutofturnException;当所有游戏单元都已满且未实现三连胜时,必须

我已经做了一个Tictatcoe游戏,在某种程度上,我仍然在熨烫程序中的最后几个纠结。我想添加3个客户异常类,它们是incorrecentryexception、playeroutofturnseception和stallateexception。当用户在游戏界面中输入X或O以外的字符时,必须抛出IncorrecentryException;当用户试图在系统预期的情况下播放X和O(或反之亦然)时,必须引发PlayerAutofturnException;当所有游戏单元都已满且未实现三连胜时,必须抛出僵局异常

我将为我的程序添加代码,它有两个类,GameGUI和GameLogic

    import java.awt.event.*;
import java.awt.*;

import javax.swing.*;

@SuppressWarnings("serial")
public class GameGUI extends JFrame implements ActionListener { 

    public JTextField b1, b2, b3, b4, b5, b6, b7, b8, b9;
    JPanel p, p2;
    JButton check;

    GameGUI() { 
        // create components
        Container c = getContentPane();
        p = new JPanel();
        p2 = new JPanel();
        check = new JButton("Check game.");
        check.addActionListener(this);

        b1 = new JTextField(null, 1);
        b2 = new JTextField(null, 1);
        b3 = new JTextField(null, 1);
        b4 = new JTextField(null, 1);
        b5 = new JTextField(null, 1);
        b6 = new JTextField(null, 1);
        b7 = new JTextField(null, 1);
        b8 = new JTextField(null, 1);
        b9 = new JTextField(null, 1);

        p.add(b1);
        p.add(b2);
        p.add(b3);
        p.add(b4);
        p.add(b5);
        p.add(b6);
        p.add(b7);
        p.add(b8);
        p.add(b9);
        p2.add(p);
        p2.add(check);
        p.setLayout(new GridLayout(3,3));
        c.add(p2);

        setSize(150, 150);
        setVisible(true);

    }

    public static void main(String[] args) { 
        new GameLogic();
    }

    public void actionPerformed(ActionEvent e) { 

    }
}
中断

}


对不起,如果我不清楚,英语不是我的母语。我需要学习如何创建和添加这些异常类。

根据您的评论,您希望创建自定义异常类。这很简单,只需创建一个扩展
Exception
类的公共类,如下所示:

public IncorrectEntryException extends Exception {

   public IncorrectEntryException() { }

   public IncorrectEntryException(String message) {
       super(message);
   }
}
现在,您可以按如下方式使用它:

  • 正在引发自定义异常:

       try {
    
         //Code
    
       }
       catch(IncorrectEntryException e) {
        //Do something with your exception
       }
    
    抛出新的incorrecentryexception()

  • 捕获自定义异常:

       try {
    
         //Code
    
       }
       catch(IncorrectEntryException e) {
        //Do something with your exception
       }
    

您可以类似地创建其他异常类。有像检查和未检查异常这样的情况,但在您的情况下,我认为这应该足够了。希望它能帮助您。

要创建
自定义异常类
,您可以根据
选中/未选中的异常
类型扩展
异常
类或
运行时异常

因此,例如,如果您想创建一个
未检查的异常
NewRuntimeException,那么可以这样做

class NewRuntimeException extends RuntimeException {
    public NewRuntimeException() {
        super();
    }
}

那么,你的问题到底是什么?我如何创建一个自定义异常类来检查我上面列出的内容、僵局、不再轮换和输入错误(不是x/o)对不起,如果我不清楚,英语不是我的母语。我怀疑创建自定义异常是解决你的问题的最佳方案,因为异常是用来处理意外行为的,所以请阅读以下内容-