我在这里发现问题Should a retrieval method return 'null' or throw an exception when it can't produce the return value?和Should functions return null or an empty object?,但我认为我的情况完全不同。我应该返回null还是抛出异常?
我在写一个由web服务和客户端组成的应用程序。 webservice负责访问数据,并将数据返回给客户端。我设计我的应用程序是这样的:
// web服务
try
{
DataTable data = GetSomeData(parameter);
return data
}
catch (OopsException ex)
{
//write some log here
return null;
}
//客户端:
DataTable data = CallGetSomeData(parameter);
if(data == null)
{
MessageBox.Show("Oops Exception!");
return;
}
嘛,没有返回null的规则。我不认为我应该重新抛出异常并让客户端捕获SoapException。你对此有何评论?有没有更好的方法来解决这个问题?
谢谢。
例外允许您[收紧您的后置条件](http://stackoverflow.com/q/1744176/54262)。它们也与语言,风格和编码习惯密切相关;但你没有指定任何。 – 2010-10-19 15:33:03
这看起来像是asp.net,我想呢?你应该相应地标记它。 – RMorrisey 2010-10-29 21:26:56