我想了解我的代码有什么问题,因为它没有向用户显示错误消息。谢谢你的建议。
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;
}
答案 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)
您正在尝试在应用程序中的任何更高级别处理的异常(因此您不会看到任何内容)。由于抛出,无论如何都不会达到抛出后的代码。