在C#中,我实现了一个自定义异常,现在如何实现它?

在C#中,我实现了一个自定义异常,现在如何实现它?,c#,try-catch,tic-tac-toe,custom-exceptions,C#,Try Catch,Tic Tac Toe,Custom Exceptions,我正在为一项任务做一个井字游戏,我是C#的新手。我有一个错误移动的自定义异常,名为BadMoveException,如果用户输入0-8以外的任何内容。这个任务有现成的代码,我想知道我是否应该删除这些代码来创建我自己的代码来使用这个异常,或者在这里实现起来是否足够简单?代码如下: string input; int position; do { input = Console.ReadLine(); } while (!int.TryParse(input, out position))

我正在为一项任务做一个井字游戏,我是C#的新手。我有一个错误移动的自定义异常,名为
BadMoveException
,如果用户输入0-8以外的任何内容。这个任务有现成的代码,我想知道我是否应该删除这些代码来创建我自己的代码来使用这个异常,或者在这里实现起来是否足够简单?代码如下:

string input;
int position;
do
{
    input = Console.ReadLine();
} 
while (!int.TryParse(input, out position));

我需要捕获
BadMoveException
,以及任何其他未知错误消息。提前谢谢你

只要您的
BadMoveException
继承自
Exception
,那么您就可以像使用任何其他
异常一样使用它,如下所示:

try {
    //do stuff
    if (badMove) {
        throw new BadMoveException();
    }
} catch (BadMoveException) {
    //user made a bad move!!
} catch {
    //something else went wrong
}
这里有关于异常处理的更多信息:

以下是我的资料:

1-首先,您的异常需要从以下异常继承:

try {
    //do stuff
    if (badMove) {
        throw new BadMoveException();
    }
} catch (BadMoveException) {
    //user made a bad move!!
} catch {
    //something else went wrong
}
public-class-BadMoveException:Exception{//您的代码在这里}

2-当您出现错误时,您可以这样使用它:

try {
    //do stuff
    if (badMove) {
        throw new BadMoveException();
    }
} catch (BadMoveException) {
    //user made a bad move!!
} catch {
    //something else went wrong
}
抛出新的BadMoveException(//如果类中有参数,请输入参数)

你明白了:

try
{
    if(Position < 0 || Position > 8) 
    { 
         throw new BadMoveException(// Enter parameter here if you have any);
    }
    else
    {
         // Your code here
    }
}
catch(BadMoveException bmex) { // Show message here }
catch(Exception ex) { // Show other exception }
试试看
{
如果(位置<0 | |位置>8)
{ 
抛出新的BadMoveException(//如果有,请在此处输入参数);
}
其他的
{
//你的代码在这里
}
}
捕获(BadMoveException bmex){//Show message here}
catch(异常ex){//Show other Exception}
希望有帮助

文档链接: