Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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 捕获前编辑抛出的错误?_Javascript_Error Handling_Exception Handling_Coffeescript_Ecmascript 6 - Fatal编程技术网

Javascript 捕获前编辑抛出的错误?

Javascript 捕获前编辑抛出的错误?,javascript,error-handling,exception-handling,coffeescript,ecmascript-6,Javascript,Error Handling,Exception Handling,Coffeescript,Ecmascript 6,假设我想在抛出错误时编辑对象: 试试看{ 抛出错误('foobar') }捕获(e){ console.log(e.message) } 我可以这样做: (函数(状态){try{throw Error('foobar')}catch(e){e.status=status;throw e}})(404) 然而在这里它是投掷,接住,投掷[接住]有没有办法只掷/接球一次? 企图 {Types}=require'mongoose' exports.valid\u access\u token=val

假设我想在抛出
错误时编辑
对象:

试试看{
抛出错误('foobar')
}捕获(e){
console.log(e.message)
}
我可以这样做:

(函数(状态){try{throw Error('foobar')}catch(e){e.status=status;throw e}})(404)
然而在这里它是投掷,接住,投掷[接住]有没有办法只掷/接球一次?

企图
{Types}=require'mongoose'
exports.valid\u access\u token=valid\u access\u token=(access\u token,cb)->
除非Types.ObjectId.isValid访问\u令牌
返回cb((错误)->
err.name='ValidationError';err)(Types.ObjectId访问\u令牌)
#为简洁起见,省略了其余部分

您可以在抛出之前抛出任意对象或设置必要的属性:

试试看{
var error=新错误('foobar');
error.status=404;
投掷误差;
}捕获(e){
警报('错误:'+e.status+','+e.message);

}
是的,我知道,但是我使用的是一个外部库(mongoose.Types.ObjectId),它会抛出自己的错误。我正在检查它是否会抛出错误(使用isValid),然后返回它(在cb中)。我想在抛出
status
属性之前设置它。尝试编辑我的问题