У меня есть метод вроде ...
int f() {
try {
int i = process();
return i;
} catch(Exception ex) {
ThrowSpecificFault(ex);
}
}
Это вызывает ошибку компилятора:« не все пути кода возвращают значение ». Но в моем случае ThrowSpecificFault () всегда будет вызывать (соответствующее) исключение. Поэтому я вынужден поместить возвращаемое значение в конец, но это некрасиво.
Цель этого шаблона в первую очередь состоит в том, что "process ()" является вызов внешней веб-службы, но необходимо преобразовать множество различных исключений для соответствия ожидаемому интерфейсу клиента (~ шаблон фасада, я полагаю).
Есть ли более чистый способ сделать это?