Javascript 节点-如何捕获split()错误?
我有一个关于NodeJs的问题。从6.6开始,它说什么时候无法获取未处理的承诺 为了避免这种情况,我需要捕捉错误,但是。。。如果我知道了,我该怎么做Javascript 节点-如何捕获split()错误?,javascript,node.js,try-catch,unhandled,Javascript,Node.js,Try Catch,Unhandled,我有一个关于NodeJs的问题。从6.6开始,它说什么时候无法获取未处理的承诺 为了避免这种情况,我需要捕捉错误,但是。。。如果我知道了,我该怎么做 args[1] = args[1].split('!')[1].split('>')[0] 我试图添加.catch(err=>console.log(err)),但似乎没有任何变化 提前感谢!:) .catch(err=>console.log(err))用于捕获承诺中的错误。请改用标准表格: try{ args[1] = args
args[1] = args[1].split('!')[1].split('>')[0]
我试图添加.catch(err=>console.log(err)),但似乎没有任何变化
提前感谢!:) .catch(err=>console.log(err))用于捕获承诺中的错误。请改用标准表格:
try{
args[1] = args[1].split('!')[1].split('>')[0]
}
catch(err){
console.log(err)
}
这或多或少是没有希望的。这只是一个简单的javascript语句,可以直接捕获,如下所示: 试着在整体上使用Try-catch
try{
args[1] = args[1].split('!')[1].split('>')[0]
}catch(e){
console.log(e);
// Most possible error would be TypeError: Cannot read property 'split' of undefined
at <anonymous>:1:23
}
试试看{
args[1]=args[1]。拆分(“!”)[1]。拆分(“>”)[0]
}捕获(e){
控制台日志(e);
//最可能的错误是TypeError:无法读取未定义的属性“split”
时间:1:23
}
当第一次拆分没有生成第二个索引时,可以通过替换字符串来避免错误,而不是捕获
args[1] = (args[1].split('!')[1] || "").split('>')[0];
这假设
args[1]
肯定存在。如果这还不确定,你可以做类似的替换
args[1] = ((args[1] || "").split('!')[1] || "").split('>')[0];
最后,您可以提供一个默认值,以防其中的任何部分无法生成有用的内容
args[1] = ((args[1] || "").split('!')[1] || "").split('>')[0] || "DEFAULT";
您发布的代码不是异步的,也不返回承诺。是否要更新代码段代码是否包含嵌套的
promise
s?unhandledPromisejectionWarning:未处理的承诺拒绝(拒绝id:1):TypeError:无法读取未定义的属性“catch”