Handling 'Sequence has no elements' Exception
我正在更新我的购物车中的数量,但它抛出的序列没有元素的例外。
我不知道这是什么意思。起初我以为可能有一个空值被传递到某个地方,但事实并非如此,因为我检查过:
Sequence contains no elements Description: An unhandled exception
occurred during the execution of the current web request. Please
review the stack trace for more information about the error and where
it originated in the code.Exception Details: System.InvalidOperationException: Sequence
contains no elementsSource Error:
Line 35: var uid = WebSecurity.CurrentUserId; Line 36:
var newqty = Request.Form["Quantity"]; Line 37:
OModel.Cart c = (from item in database.Carts Line 38:
where item.UserId == uid && item.PartNumber == pnumber && item.OrderId
== oid Line 39: select item).First();
你知道是什么引起的吗?
如果您的选择返回0行,则
您使用的是Linq的First()方法,根据文档,如果在空集合上调用它,则该方法将引发InvalidOperationException。
如果您希望查询结果有时为空,则可能希望使用FirstOrDefault(),如果集合为空,则返回空值,而不是引发异常。
代替
"handle"的部分答案"sequence has no elements"在VB中的异常是测试是否为空
1 2 3 |
其中mymap是返回空/空的查询序列。供参考
值为空,必须检查原因…(除了执行这里提出的解决方案之外)
检查硬件连接。