避免500 TypeError

时间:2013-02-28 16:58:45

标签: node.js undefined

在node.js上的

,假设我有一个这样的对象:

var users = {
  '1': { name: 'john' },
  '2': { name: 'jack' },
  '3': { name: 'hal' },
};

如果我尝试访问users['4'].name,我显然会得到500 TypeError: Cannot read property 'name' of undefined

完全可以理解但是,让它保持沉默呢? node.js开发人员是否难以实现此类功能?或者我错过了一些“安全”或其他什么问题?

无论如何,是否有一种简单的方法可以使错误无声?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您需要修复代码。不要写users['4'].name,而是写下:

if ('4' in users)
    { users['4'].name; }

您需要检查代码中影响代码的每个条件。 Node.js运行时无法知道您是否犯了错误,或者您根本不关心实际执行某些语句。