我目前正在开发一个使用CORBA的小型客户端/服务器项目,我不确定最佳的错误处理策略是什么。我公开的方法返回一个字符串,我需要一种逻辑方式通知客户端发生了错误,例如由于输入无效。
我考虑过返回一个空字符串或某种表示错误的常量,但结果是基于输入,其中任何一个都可能是有效的返回值。
处理此问题的最佳方法是什么?
答案 0 :(得分:3)
最好的方法是声明您的方法引发异常,如下所示:
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;
};
然后在大多数情况下,您的语言映射会将这些异常转换为原生异常。