这与我的其他帖子有关。我试图添加一些异常逻辑,所以我编写了以下代码:
public IEnumerable<DrillFormat> List(string partitionKey)
{
try {
_drillServiceContext.MergeOption = MergeOption.NoTracking; // set when you will not be updating this entity
var results = from c in
_drillServiceContext.drillTable
where c.PartitionKey == partitionKey
select c;
var query = results.AsTableServiceQuery();
var queryResults = query.Execute();
return queryResults;
} catch (Exception e) {
System.Diagnostics.Trace.TraceInformation(e.Message
+ Environment.NewLine + e.StackTrace);
throw new Exception("Error while accessing the data store.", e);
}
}
但是现在我收到一条消息,说“并非所有代码路径都返回一个值”。这是否意味着即使我抛出异常,我也必须返回一个值?
答案 0 :(得分:1)
如果没有抛出异常,则此方法永远不会返回值。
我通常在这样的方法中添加return null
或new List<DrillFormat>()
。取决于调用代码所期望的内容以及是否要处理调用链的null。