Обработка ошибок с использованием CORBA - PullRequest
3 голосов
/ 24 августа 2011

В настоящее время я работаю над небольшим клиент-серверным проектом, который использует CORBA, и я не уверен, какова лучшая стратегия обработки ошибок. Мои открытые методы возвращают строку, и мне нужен логичный способ информирования клиента о том, что произошла ошибка, например, из-за неверных входных данных.

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

Каковы лучшие способы справиться с этим?

1 Ответ

3 голосов
/ 24 августа 2011

Лучший способ - объявить, что ваши методы вызывают исключения, как показано ниже:

exception Unknown{};

interface Stock {

  // Returns the current stock quote.
  Quote get_quote() raises(Unknown);

  // Sets the current stock quote.
  void set_quote(in Quote stock_quote);

  // Provides the stock description, 
  // e.g. company name.
  readonly attribute string description;
};

тогда в большинстве случаев ваше языковое отображение переведет эти исключения в нативные.

...