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