Добавление байта Попробовать блоки к существующим методам - PullRequest
0 голосов
/ 16 января 2020

Используя Byte Buddy, я пытаюсь добавить несколько на @Advice.OnMethodExit и @Advice.OnMethodEnter. Я хотел бы добавить блоки, подобные этому, настраиваемому агенту, который я создаю.

public String getSomeMethodName() {
        try{

// Default block of code present without instrumentation

        }finally {
// Some Code Snippets added by agent.
        }
    }

В основном функция не имеет даже блока try. Как я могу добавить это, а также блок finally. Это хорошая практика для этого? Или как лучше всего достичь этого?

Что я пытаюсь добавить -

try{ 

 }catch(){
 }

в OnMethod.Enter.

Хотелось бы включить finally блок OnMethod.Exit.

1 Ответ

1 голос
/ 16 января 2020

Используйте @Advice.OnMethodExit(onThrowable = Throwable.class). Это приводит к появлению совета даже в том случае, если был выдан какой-либо бросаемый тип, какова семантика блока finally.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...