我该如何处理C#中的不合适情况?

时间:2016-02-23 07:32:37

标签: c#

我是初学者,还没有找到工作,所以我从未体验过代码。 我的问题是: 我应该如何处理情况,当用户输入一个不会引发异常但又不可接受的情况时,应该关闭程序。 我应该在catch块中抛出一些带有异常消息的异常,还是只显示一条消息就足够了?

2 个答案:

答案 0 :(得分:3)

它完全取决于您正在开发的应用程序的要求。但是c#有一个特定的异常类型:

InvalidArgumentException

你可以像这样使用它:

if (!ValidateUserInput(input))
    throw new InvalidArgumentException ("input is invalid");

然后,您可以在应用程序中进一步了解并决定如何处理它

答案 1 :(得分:2)

一切都取决于你。取决于你想要达到的目标。

对此没有最终答案。

做你说的一切都很好。在try catch块中抛出异常,然后为用户和关闭程序提供信息。

另外,将错误记录更多信息记录到一个或多个文件中。

消息框很好,因为是用户友好的。

抛出异常也很好,因为对开发人员来说非常易读 - 当他们阅读你的代码时,他们认为这是一个糟糕的情绪。

例如该怎么做:

    try
    {
       if (IsErrorValidation())
       {
            throw new Exeption("You input wrong data");
       }
    }
    catch (Exception e)
    {
      MessageBox.Show("Error" + e.Message );
      CloseProgram();
    }

您使用按摩创建新的Exception

更好的是创建您自己的Exeption类型,例如ErrorValidationException 或使用C#中存在的预定义InvalidArgumentException

        try
        {
           if (IsErrorValidation())
           {
                throw new ErrorValidationException("You input wrong data");
           }
        }
        catch (ErrorValidationException e)
        {
          MessageBox.Show("Error" + e.Message);
          CloseProgram();
        }
        catch (Exeption e)
        {  
           ...
        } 

然后您可以稍后使用此类型的异常,并且可以以不同的方式提供此类异常