Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点-如何捕获split()错误?_Javascript_Node.js_Try Catch_Unhandled - Fatal编程技术网

Javascript 节点-如何捕获split()错误?

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

我有一个关于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[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”