Бросать ошибки в хранимую процедуру Cosmos DB и отлавливать в C # - PullRequest
0 голосов
/ 25 апреля 2018

Cosmos DB требует выполнения хранимых процедур, написанных на JavaScript, для выполнения транзакций (ср. Программирование на стороне сервера Cosmos DB ).

Затем я вызываю эту хранимую процедуру из C #.

При выдаче ошибки в таких хранимых процедурах я хотел бы иметь возможность определить, какой тип ошибки был выдан (например, путем включения кода ошибки).

Исключение, возвращаемое моему вызывающему, имеет типDocumentClientException с кодом состояния 400 Bad request.Если я брошу объект, такой как throw {Code: 1, Text: "Some text"};, я получу Exception = [object Object] обратно как часть сообщения об ошибке message , если я вместо этого throw "Some text"; получу Exception = Some text.

IsЕсть ли способ получить объект, который был сгенерирован как JSON, или какой-то другой способ узнать, какая ошибка была сгенерирована, кроме попытки разобрать текст сообщения об ошибке (который является частично текстом из Космоса БД и частично из того, что было выброшено)?

1 Ответ

0 голосов
/ 06 мая 2018

К сожалению, я не думаю, что есть способ в данный момент. В моих хранимых процедурах я выбрасываю объект Error с некоторым сообщением JSON. На стороне C # я анализирую Исключение, чтобы добраться до моего объекта ошибки JSON и десериализовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...