that is kind of abusing exception handling block. but if you have to do it. as suggested by redbull, aop is yur best shot. if runtime performance is your concern, trying aspectj. if you are in spring env, using spring native aop, but it will weave the aspects on runtime. if you are in jboss env, it also has its own aop, in which aspects will be woven at classloading time.