ReRe does exactly what you are asking for!
It can record almost all non-final java objects, including the throw behavior, and the modifications done to parameters.
Please check it out!
https://github.com/ryucc/ReRe