Try catch嵌套在try catch、mongoose和express中

ybzsozfc  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(178)

这个解决方案是否正确?我可以只使用一个try catch来完成这个任务吗?或者它必须是try catch嵌套在try catch中,我正在使用mongodb的express和mongoose。

try {
        const savedRoom = await newRoom.save()
        try {
            await Hotel.findByIdAndUpdate(hotelId, {$push : {rooms: savedRoom._id}})
        } catch (err) {
            next(err)
        }
        res.status(200).json(savedRoom);
    } catch (err) {
        next(err)
    }

我想寻求最佳解决方案。

q1qsirdb

q1qsirdb1#

假设next(err)没有退出程序,如果await Hotel.findByIdAndUpdate(hotelId, {$push : {rooms: savedRoom._id}})行抛出异常,res.status(200).json(savedRoom);将被执行。如果你不想这样,一个独特的try catch会更好。

相关问题