SDKのドキュメントにはどんな場合にどんな例外が発生するのか明記されていないが、対応するAWS API Referenceにはエラーコード一覧が明記されている。
例えば、AWS.DynamoDB.DocumentClient.put()
ではどんな例外が発生しうるのか?
対応するAWS API Referenceを見ると
ConditionalCheckFailedException
A condition specified in the operation could not be evaluated.HTTP Status Code: 400
のようにエラーコードが明記されている。
APIがエラーコードを返す場合、SDKでは例外発生となり、error.code
のどちらでもそのエラーコードを取得できるようだ。
try {
let data = await docClient.get(params).promise();
console.log(data.Item);
} catch (err) {
console.log(err.code);
if (err.code == "ConditionalCheckFailedException") {
console.log("...");
}
}