c# - 从函数返回错误消息的最佳方法是什么?

标签 c# .net

如果遇到诸如(Expired user, invalid ID)这样的逻辑错误错误,那么最好的方法是通过以下方式将此错误告知父方法:

1- 抛出如下自定义异常:

 try
{
//if (ID doesn't match) then 
Throw new CustomException(-1,"ID doesn't match");
}
catch(CustomException ex)
{
throw ex
}
catch(Exception ex)
{
throw new CustomException(ex.ErrorCode,ex.message);
}

2- 返回错误信息和代码如下:

//if (ID doesn't match) then 
This.ErrorCode= -1;
This.Message= "ID doesn't match";

最佳答案

更好的方法是抛出自定义异常。这就是他们被介绍的原因。如果您需要提供特定信息,例如 ErrorCode 或其他信息,您可以轻松扩展 Exception 基类来实现。主要原因是:

  • 您可以忽略从您的函数返回的无效错误代码,这可能会导致您的系统状态被破坏,而 Exception 是您不能忽略的。
  • 如果您的函数做了一些有用的事情,那么它应该返回一些您感兴趣的数据而不是错误代码,这会让您的设计更加可靠。

关于c# - 从函数返回错误消息的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15873470/

相关文章:

c# - 如何在.NET 中安装 Windows 服务?

c# - 提交不执行 HTTP Post,而是执行 http get/request

c# - 不使用 ThreadPool 的 C# 中的周期性任务

c# - 如何在我的具体情况下实现 IEnumerable?

c# - 集成测试 .NET Code 2.2 IHostBuilder (Generic Host Builder)

c# - 从 MVC Web 应用程序打印到热敏打印机

c# - 如何在数据表中区分大小写显示

c# - 如何将 WPF 数据网格内的文本框数据绑定(bind)到 View 模型中的属性?

c# - 带有 CancellationToken 参数的 CopyTo

c# - 正则表达式:匹配没有 "style"属性的 HTML 标签