gpt4 book ai didi

.net - 在这种情况下,我应该捕获并重新抛出异常吗?

转载 作者:行者123 更新时间:2023-12-05 00:00:44 25 4
gpt4 key购买 nike

我正在应用程序的 UI 层中进行开发,并且在发出请求后在业务层(或更低层)中抛出异常。异常如下所示

“System.Exception:没有数据返回......”

很明显有人做了一个简单的事情:

if (...Rows.Count < 1)
throw new Exception("No Data Returned");

现在在我的操场上,我是否应该尝试通过尝试将其作为自定义异常重新抛出来清理它,我可以专门处理如下:
try
{
var myBusinessObject = MyBusinessMethod();
}
catch (Exception ex)
{
if (ex.Message == "No Data Returned")
{
throw new NoDataException(ex.Message);
}
else
{
throw;
}
}

或者有更优雅的方式来处理这些。

请注意,我无法选择在 UI 层之外更改代码,而且我确实希望经常遇到此特定异常。

提前致谢!

最佳答案

我真的认为这取决于该异常在您调用的上下文中的含义。例如,如果您要求按名称或 ID 加载客户,则可能会通过“未找到客户”对话框简单地向您的用户报告异常。另一方面,如果您试图加载一些您认为应该在那里的关键内容,但您遇到了异常,则必须做一些不同的事情。

最重要的是,这实际上取决于问题的性质和严重性以及您的客户对 UI 的期望。

关于.net - 在这种情况下,我应该捕获并重新抛出异常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592822/

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