[英]Throwing errors using async/await in AWS Lambda node.js function
我正在嘗試向調用 function 拋出錯誤,但未捕獲該錯誤。 異常不會傳播到調用 function。
'use strict';
const { Pool } = require('pg');
const pool = new Pool();
var result;
exports.handler = async (event) => {
var payload = event;
try{
result = await insertOrder(payload, 'test');
}
catch (err) {
console.error("Error from main: " + err);
throw err ;
}
return result;
};
async function insertOrder(payload, name)
{
const client = await pool.connect();
try{
const queryString = {
text: "INSERT INTO public.orders(payload, shop_name)" +
"VALUES ($1, $2) RETURNING id",
values: [payload, name],
};
const result = await client.query(queryString);
var orderId = result.rows[0].id;
}
catch (err) {
await client.query('ROLLBACK');
console.log("Error from child: " + err);
throw err;
}
finally {
client.release();
return orderId;
}
}
以下是寫入日志的內容:
來自子級的信息錯誤:錯誤:INSERT 的目標列多於表達式
調用 function 中的 console.error 未寫入日志。 我錯過了什么? 蒂亞!
搬家退貨orderId; 嘗試阻止解決了我的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.