访问JavaScript对象的不存在的属性时如何抛出错误

时间:2015-02-04 08:23:11

标签: javascript

当我尝试访问不存在的对象属性时,JavaScript中有没有办法抛出错误?

inst.prop //Error

2 个答案:

答案 0 :(得分:5)

目前不,不,不是对象本身。 ES2015 +提供代理,如果您将对象包装在代理中,那么当您尝试通过底层对象没有的代理读取属性时,您可以让代理抛出错误。但这需要在代理中包装,并且在您使用的环境中需要ES2015支持(代理不能被填充)。所有最新的主要JavaSript引擎都支持代理。如果您在网络上执行此操作,稍微较旧的浏览器(例如IE11)中的引擎就不支持代理,并且无法进行多边形填充。

答案 1 :(得分:3)

zealit Node包提供了一种方法:

/path/to/script args >/path/tmp/log.out 2>/path/tmp/log.err
if [ ! -s  /path/tmp/log.err ]; then
   echo -n "$(date) success: " >> /path/logfile
   cat /path/tmp/log.out >> /path/logfile
else
   echo -n "$(date) errors: " >> /path/logfile
   cat /path/tmp/log.err >> /path/logfile
fi