如果遇到诸如(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/