4

我很好奇是否有办法从捕获的 ReferenceError 中获取引用对象的名称。例如:

 try{
     foo;
 } catch(e){
     e.message; // "ReferenceError: foo is not defined"
 }

是否有另一个属性持有“foo”?如果可能的话,我想在 ruby​​ 中创建类似 missing_method 的东西。除了变量访问,所以我不担心丢失 args/context。这似乎是最大的障碍之一。

4

1 回答 1

1

好问题,据我所知(如果您检查控制台),ReferenceError 对象中没有引用缺失名称的属性/方法。

您可以解析错误消息以提取属性名称。但这很难,因为错误消息可以本地化并且根据所使用的浏览器而有所不同。虽然,如果您想将其用于开发并控制环境,使用正则表达式应该相当容易实现。

于 2013-10-11T19:34:39.990 回答