我很好奇是否有办法从捕获的ReferenceError中获取引用对象的名称。 例如:
try{
foo;
} catch(e){
e.message; // "ReferenceError: foo is not defined"
}
还有其他财产持有“foo”吗?如果可能的话,我想在ruby中创建像missing_method这样的东西。除了变量访问,所以我不关心丢失args / context。这似乎是一个很大的阻碍者。
答案 0 :(得分:1)
很好的问题,据我所知(如果你检查一个控制台),ReferenceError对象中没有引用缺少名称的属性/方法。
您可以解析错误消息以提取属性名称。但这很难,因为错误消息可以根据所使用的浏览器进行本地化和不同。虽然,如果您想将它用于开发并控制环境,那么使用Regexp实现它应该相当容易。