首页 > 解决方案 > 在 C# 中我已经实现了一个自定义异常,我现在如何实现它?

问题描述

我正在为一项作业制作井字游戏,而且我是 C# 新手。我有一个错误动作的自定义例外,称为BadMoveException,如果用户输入 0-8 以外的任何内容。有现有的分配代码,我想知道我是否应该取消创建自己的代码来使用这个异常,或者在这里实现它是否足够容易?这是代码:

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

我需要捕获BadMoveException, 以及任何其他带有未知错误消息的信息。先感谢您!

标签: c#try-catchtic-tac-toecustom-exceptions

解决方案


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

try {
    //do stuff
    if (badMove) {
        throw new BadMoveException();
    }
} catch (BadMoveException) {
    //user made a bad move!!
} catch {
    //something else went wrong
}

这里有更多关于异常处理的信息:https ://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/exceptions/


推荐阅读