gpt4 book ai didi

c# - 注意错误而不返回错误值?内部更多信息

转载 作者:行者123 更新时间:2023-12-03 08:12:23 26 4
gpt4 key购买 nike

我在使用Google搜索时遇到了麻烦,所以这里有一个解释:

我想一个接一个地执行另一个类的方法列表,并使我所有的错误处理都像try-catch场景一样进行。

像这样:

try
{
var thing1 = Worker.GetThing1(); //returns proper value, so continue
var thing2 = Worker.GetThing2(); //throws error with message
var thing3 = Worker.GetThing3(); //doesn't get done, stopped at 2
}
catch (ExceptionError errorMessage)
{
MessageBox.Show(errorMessage);
}

函数看起来像这样:
function GetThing1()
{
if (!success)
{
throw ExceptionError("this is an error message.");
}
}

问题是我不知道如何从另一个类抛出异常,或者是否有可能这样做。

显然,这是一些严重的伪代码,因此,如果我不够清楚,请告诉我。

最佳答案

我制作了一个快速的控制台应用程序来说明这一点。引发新错误的语法是throw new Exception(message);代码:

class Program
{
static void Main(string[] args)
{
try
{
var thing1 = Program.GetThing1(); //returns proper value, so continue
var thing2 = Program.GetThing2(); //throws error with message
var thing3 = Program.GetThing3(); //doesn't get done, stopped at 2
}
catch (Exception errorMessage)
{
Console.WriteLine(errorMessage.Message);
}

Console.ReadKey();
}

private static bool GetThing1()
{
bool success = true;

if (!success)
{
// This will NOT be displayed in the console.
throw new Exception("GetThing1 Error -> Not supposed to see this in output...");
}

return success;
}

private static bool GetThing2()
{
bool success = false;

if (!success)
{
// This WILL be displayed in the console.
throw new Exception("GetThing2 Error -> Expected, this has to be thrown!!!");
}

return success;
}

private static bool GetThing3()
{
bool success = true;

if (!success)
{
// This will NOT be displayed in the console.
throw new Exception("GetThing3 Error - > Not supposed to see this in output...");
}

return false;
}
}

对于那些说“一切看起来不错”的家伙,请测试一下您的陈述。此外,.NET中没有称为 ExceptionError的标准类,您可以使用 Exception类来捕获所有类型的异常(但是发布者说他正在使用伪代码,因此我们不能过多地关注这些小细节)。

关于c# - 注意错误而不返回错误值?内部更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33979638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com