Обработка на грешки при използване на CORBA

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

Обмислих да върна празен низ или някаква константа, която би означавала грешка, но тъй като резултатът се основава на входа, всяко едно от тях може потенциално да бъде валидна върната стойност.

Кои са най-добрите начини за справяне с това?


person Jim Jeffries    schedule 24.08.2011    source източник
comment
Ако гласувате за затваряне, моля, обяснете защо, за да мога да подобря въпросите си в бъдеще.   -  person Jim Jeffries    schedule 24.08.2011


Отговори (1)


Най-добрият начин е да декларирате, че вашите методи предизвикват изключения, както е показано по-долу:

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;
};

тогава в повечето случаи вашето езиково картографиране ще преведе тези изключения в родните.

person Davorin Ruševljan    schedule 24.08.2011