【发布时间】:2011-04-23 00:26:32
【问题描述】:
我有一个类似的方法:
int f() {
try {
int i = process();
return i;
} catch(Exception ex) {
ThrowSpecificFault(ex);
}
}
这会产生编译器错误,“并非所有代码路径都返回值”。但在我的情况下 ThrowSpecificFault() 将始终抛出(适当的)异常。所以我不得不在最后加上一个返回值,但这很丑。
首先,这种模式的目的是因为“process()”是对外部 Web 服务的调用,但需要转换各种不同的异常以匹配客户端的预期接口(我想是外观模式)。
有什么更简洁的方法吗?
【问题讨论】:
标签: c# .net exception checked-exceptions