listener to inject exceptions according to user specifications. This
tool is meant to be used for exception handler verification, esp. if
exceptions thrown by 3rd party code would be hard to produce.
Exceptions are specified as a list of xSpec'@'location pairs.
ExceptionSpec is specified as a class name, with optional details parameter. If no
package is specified, either java.lang or default package are assumed
Location can be
- fully qualified method (callee that is supposed to throw, which is
NOT executed in this case)
- fully qualified method ':' lineOffset
for line/offest based locations, either the first or last insn associated
with this line (depending on ei.throwFirst=true|false) is not executed
but replaced with throwing the exception.
Method body line offsets count from the first statement line in the method body
y.MyException("something went wrong")@x.SomeClass.foo(D):10