gpt4 book ai didi

c# - 如何将一个项目抛出的异常返回给另一个项目?

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:29 24 4
gpt4 key购买 nike

有什么方法可以捕获一个项目抛出的异常并将其返回到另一个项目吗?

例如,我将代码保存在不同的项目中。说A和B。如果A是引擎部分,B是UI部分,那么引擎中发生的异常也应该在UI中被捕获。请帮助。

最佳答案

您希望在引擎代码中捕获异常的唯一原因是您认为可以处理它,或者您需要进行一些日志记录或类似操作。仅仅为了重新抛出而捕捉并没有太多(任何)好处。但是,假设您有正当理由,那么在您的 UI 代码中您可以拥有

try
{
engine.Start();
}
catch (SpecificException se)
{
// Do stuff with specific exception
}
catch (Exception ex)
{
// Show the user something unexpected happened
}

在您的引擎代码中,您可以拥有;

public void Start()
{
try
{
if (this.HasNoOil)
{
throw new SpecificException("Can't go without oil. We'll do some damage");
}
// Other stuff
}
catch (Exception ex)
{
// Log details of exception and throw it up the stack
throw;
}
}

关于c# - 如何将一个项目抛出的异常返回给另一个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772711/

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