如何在C#中抛出错误信息?

时间:2016-04-30 10:37:46

标签: c# error-handling subroutine

我想了解我的代码有什么问题,因为它没有向用户显示错误消息。谢谢你的建议。

   public class Program
   {
      static void Main (string[] args)  {
      Console.WriteLine("Please, input some text");
      string name = Console.ReadLine();
      Console.WriteLine(AskString(name));
      Console.ReadLine();        
    }

     public static string AskString(string greeting)
    {
        if (greeting == "")
        {
            throw new System.Exception("Parameter cannot be null");                
            Console.WriteLine("Text input failed in subroutine AskString");
        }

        return greeting;            
    }

3 个答案:

答案 0 :(得分:3)

抛出后,应用程序的执行将停止,因此您的消息将不会出现。

更改您的代码

 Console.WriteLine("Text input failed in subroutine AskString"); 
throw new System.Exception("Parameter cannot be null");                

此外,当您抛出新异常时,它必须在另一个地方处理。如果你不这样做,你的申请将会崩溃

答案 1 :(得分:1)

最有可能的是,greeting == ""返回false。请尝试使用String.IsNullOrWhiteSpace忽略CR或LF等字符。

答案 2 :(得分:1)

您正在尝试在应用程序中的任何更高级别处理的异常(因此您不会看到任何内容)。由于抛出,无论如何都不会达到抛出后的代码。