Node.js 避免500字错误

Node.js 避免500字错误,node.js,undefined,Node.js,Undefined,在node.js上,假设我有这样一个对象: var users = { '1': { name: 'john' }, '2': { name: 'jack' }, '3': { name: 'hal' }, }; 如果我试图访问用户['4'].name,我显然会遇到500类型错误:无法读取未定义的的属性'name' 完全可以理解,但是,让它保持沉默怎么样?node.js开发人员实现这样的功能是否太难了?还是我遗漏了一些“安全”或其他问题 不管怎样,有没有一种简单的方法来消除错误 提

在node.js上,假设我有这样一个对象:

var users = {
  '1': { name: 'john' },
  '2': { name: 'jack' },
  '3': { name: 'hal' },
};
如果我试图访问
用户['4'].name
,我显然会遇到
500类型错误:无法读取未定义的
的属性'name'

完全可以理解,但是,让它保持沉默怎么样?node.js开发人员实现这样的功能是否太难了?还是我遗漏了一些“安全”或其他问题

不管怎样,有没有一种简单的方法来消除错误


提前感谢。

您需要修复代码。不要写
用户['4'].name
,而是写以下内容:

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

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

meh。。。这意味着我必须随时考虑任何可能的情况。我猜像PHP那样做太难了:
$var=@$anotherVar
“node.js开发人员实现这样的功能太难了吗?”node.js没有以任何方式维护或更改JavaScript语法。这些都是由的一个实现来管理的。要消除错误:
请尝试{…}catch(e){}
。但是,更合适的方法是检查是否存在,如dsh所示。