У меня есть много шаблонов, которые в основном следуют этому шаблону:
function doSomething() {
try {
[implementation]
[implementation]
[implementation]
[implementation]
} catch (Exception e) {
MyEnv.getLogger().log(e);
} finally {
genericCleanUpMethod();
}
}
Мне бы хотелось создать собственную аннотацию, чтобы немного очистить код:
@TryCatchWithLoggingAndCleanUp
function doSomething() {
[implementation]
[implementation]
[implementation]
[implementation]
}
Сигнатуры метода сильно различаются (в зависимости от фактической реализации метода), но окончательная часть шаблона try/catch/finally всегда одна и та же.
Аннотации, которые я имею в виду, автоматически обернут содержимое аннотированного метода целым try...catch...finally
hoopla.
Я искал высоко и низко для простого способа сделать это, но ничего не нашел. Я не знаю, может быть, я просто не вижу леса для всех аннотированных деревьев.
Приветствуются любые указатели на то, как я мог бы реализовать такую аннотацию.