此代码有效:
gErrorHandler.Push("frmItemcodes.cmdRunMethodOne_Click")
If gfHANDEL_ERRORS Then On Error GoTo PROC_ERR
Dim query = KQdbs.Items.Where(Function(f) f.Itemcode > 8000)
Me.dgvItemcodes.DataSource = query.ToList
PROC_EXIT:
gErrorHandler.Pop()
Exit Sub
PROC_ERR:
gErrorHandler.HandleError()
Resume PROC_EXIT
但是如果我将文字 8000 更改为任何类型的变量,我会收到以下错误:
错误 BC36597“On Error GoTo PROC_ERR”无效,因为“PROC_ERR”位于定义 lambda 或查询表达式中使用的变量的范围内。
我不知道为什么
如果我将正文中的代码更改为:
Dim query = From item In KQdbs.Items Where item.Itemcode = 8000
Me.dgvItemcodes.DataSource = query.ToList
结果是一样的,字面量作用一个变量返回和上面一样的错误