При тестировании хранимых процедур DocumentDb я намеренно создал документ с дублирующимся идентификатором, чтобы я мог наблюдать исключение DocumentClientException. Согласно документации на http://azure.github.io/azure-documentdb-js-server/Collection.html#.ErrorCodes, я ожидал, что в исключении будет код состояния 409, указывающий Conflict.Исключение клиента клиента Неверный код состояния ошибки
Хранимая процедура код выглядит следующим образом:
isAccepted = collection.createDocument(collectionLink,
duplicateIdDoc,
{ disableAutomaticIdGeneration: true },
function(err, createdDoc, options){
if (err) throw err; // Rollback
});
я получить исключение, но код ошибки 400 (BadRequest). Текст сообщения указывает на правильную проблему. Ресурс с указанным идентификатором или именем уже существует.
Сообщение: {\ "Errors \": [\ "Исключенное исключение при выполнении функции. Исключение = Ошибка: {\\ "Ошибки \\": [\\ "Ресурс с указанным идентификатором или именем уже существует \\"]} \ r \ nСтрана трассировки: Ошибка: {\\ "Ошибки \\": [\\ «Ресурс с указанным идентификатором или именем уже существует \\"]} \ n в функции Аноним (duplicateIdTest.js: 56: 26) \ n в функции Аноним (duplicateIdTest.js: 685: 29) \ "]} \ r \ nActivityId : 886230cf-8d49-433e-845f-8cc7c2ae486d, запрос URI:/apps/514defcb-ac21-44e6-a8e0-c7b785523c6c/services/32782613-7101-4924-97b0-604052a6723b/разделы/be6c2ec8-130c-4596-90a2-b1807977dd0b/replicas/131240065159522367p "
Я что-то упустил? Благодарю.
Спасибо. Кажется немного странным, но я могу получить реальный код, используя следующую ошибку if (err) throw new ('CODE' + err.number + 'CODE'); 'и используя Regex, чтобы разбить его на сообщение об ошибке. –