我想在创建 jqGrid 定义时捕获错误,例如 col_names 和 col_model 不匹配或单元格自定义格式时出现错误。 The purpose is to catch these errors and display as an overlay
在网格占位符上。
如果我放置try catch outside grid definition
,控制永远不会进入 catch 块,但错误默认显示为警报对话框。
请有任何建议。
我想在创建 jqGrid 定义时捕获错误,例如 col_names 和 col_model 不匹配或单元格自定义格式时出现错误。 The purpose is to catch these errors and display as an overlay
在网格占位符上。
如果我放置try catch outside grid definition
,控制永远不会进入 catch 块,但错误默认显示为警报对话框。
请有任何建议。
我认为大小不匹配的例子colNames
不是colModel
很好的例子。例如,您是否使用cn
andcm
作为值colNames
和colModel
参数,您可以在创建 jqGrid之前if (cn.length !== cm.length) {...}
将其包含 在代码中。jqGrid 的当前代码执行相同的操作(请参见此处)。
一般来说,jqGrid 或其他插件如何报告错误并没有共同的方式。例如,jQuery 引入了jQuery.error函数,您通常可以覆盖该函数。问题是该函数将用于非常小的 jQuery 代码子集。所以在我看来,这真的帮不上什么忙。大多数 jQuery 函数没有输入参数的验证。因此,如果您使用错误的参数,您可能会产生不可预知的结果。
此外,jqGrid 代码的许多部分都是异步工作的。因此,应该主要以其他方式进行验证。例如,我建议您使用loadError
回调。有关更多详细信息,请参阅答案和另一个。