我对NodeJs有疑问。从6.6开始就说无法取得未处理的承诺。
为了避免这种情况,我需要抓住错误,但是......如果我知道了,我该怎么办呢?
args[1] = args[1].split('!')[1].split('>')[0]
我尝试添加.catch(err => console.log(错误))但似乎没有任何改变。
提前致谢! :)
答案 0 :(得分:0)
.catch(err => console.log(err))用于从promises中捕获错误。请改用标准格式:
try{
args[1] = args[1].split('!')[1].split('>')[0]
}
catch(err){
console.log(err)
}
答案 1 :(得分:0)
或多或少这不是很有希望。它只是一个简单的javascript语句,可以直接捕获如下: 尝试在整个
上使用try catchtry{
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
}
答案 2 :(得分:0)
当第一次拆分不产生第二个索引时,可以通过替换字符串来避免错误。
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";